如果在 Woocommerce 上的 URL 中手动更改订单键,则显示错误谢谢
Show an error if the order key is changed manually in URL on Woocommerce thankyou
我已经开发了一个网页并集成了Cc Avenue gateway用于支付,它工作正常。
我的问题是,在银行客户成功付款后被重定向到感谢页面,该页面将包含订单号、日期、客户详细信息等详细信息。URL 看起来像:https://mysite/checkout/order-received/785/?key=wc_order_5b909f1966e92
如果我手动将 key=wc_order_5b909f1966e92
更改为 key=wc_order_5b909f1966e81
,它应该会在 'thank you' 页面上显示错误,如 "invalid order"。相反,它在页面上显示 "Thank you. Your order has been received." 而没有任何订单详细信息。
更改密钥之前:
更改密钥后:
以下函数将检查订单密钥的有效性。如果订单码不匹配,它将显示自定义错误通知 (如果需要,可选择重定向到商店页面):
add_action( 'template_redirect', 'check_thankyou_order_key' );
function check_thankyou_order_key() {
if( is_wc_endpoint_url('order-received') && isset($_GET['key']) ) {
global $wp;
$order_id = absint( $wp->query_vars['order-received'] );
$order = wc_get_order( $order_id );
if( $order->get_order_key() != wc_clean($_GET['key']) ){
// Display a custom error notice
wc_add_notice( __('Oups! The order key is invalid…', 'woocommerce'), 'error');
// Optionally redirect to shop page (uncomment code below)
// wp_redirect( get_permalink( wc_get_page_id( 'shop' ) ) );
// exit();
}
}
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
使用可选的重定向到商店页面:
我已经开发了一个网页并集成了Cc Avenue gateway用于支付,它工作正常。
我的问题是,在银行客户成功付款后被重定向到感谢页面,该页面将包含订单号、日期、客户详细信息等详细信息。URL 看起来像:https://mysite/checkout/order-received/785/?key=wc_order_5b909f1966e92
如果我手动将 key=wc_order_5b909f1966e92
更改为 key=wc_order_5b909f1966e81
,它应该会在 'thank you' 页面上显示错误,如 "invalid order"。相反,它在页面上显示 "Thank you. Your order has been received." 而没有任何订单详细信息。
更改密钥之前:
更改密钥后:
以下函数将检查订单密钥的有效性。如果订单码不匹配,它将显示自定义错误通知 (如果需要,可选择重定向到商店页面):
add_action( 'template_redirect', 'check_thankyou_order_key' );
function check_thankyou_order_key() {
if( is_wc_endpoint_url('order-received') && isset($_GET['key']) ) {
global $wp;
$order_id = absint( $wp->query_vars['order-received'] );
$order = wc_get_order( $order_id );
if( $order->get_order_key() != wc_clean($_GET['key']) ){
// Display a custom error notice
wc_add_notice( __('Oups! The order key is invalid…', 'woocommerce'), 'error');
// Optionally redirect to shop page (uncomment code below)
// wp_redirect( get_permalink( wc_get_page_id( 'shop' ) ) );
// exit();
}
}
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
使用可选的重定向到商店页面: