При попытке оплатить через платежную систему отправляет на страницу order_pay
Ссылка имеет такой вид:
../checkout/order-pay/9762/?pay_for_order=true&key=wc_order_SWO6Y0Nj66YNA
В интернете куча решений, как сделать редирект на произвольную страницу, одно из проверенных и рабочих решений
add_action( 'template_redirect', 'thankyou_custom_payment_redirect');
function thankyou_custom_payment_redirect(){
if ( is_wc_endpoint_url( 'order-received' ) ) {
global $wp;
// Get the order ID
$order_id = intval( str_replace( 'checkout/order-received/', '', $wp->request ) );
// Get an instance of the WC_Order object
$order = wc_get_order( $order_id );
// Set HERE your Payment Gateway ID
if( $order->get_payment_method() == 'cheque' ){
// Set HERE your custom URL path
wp_redirect( home_url( '/custom-page/' ) );
exit(); // always exit
}
}
}
Но нет ни одного решения, как обойти бесполезное действие при попытке произвести оплату со страницы оформления заказа или со страницы моего аккаунта, где производится аналогичное действие.
При том что за время поиска ответа наткнулся на 2 сайта, где это уже реализовано, подозреваю, что там стоит редирект через js, т.к. страница order-pay открывается на пару секунд и только потом редиректит.