WordPress 6.6.2 WooCommerce 9.3.3
根据我的阅读,我应该能够阻止使用
woocommerce_checkout_process
钩子下订单。我尝试将我的插件代码简化为以下只是为了测试:
add_action('woocommerce_checkout_process', 'custom_order_validation');
function custom_order_validation() {
wc_add_notice(__('Order Invalid'), 'error');
}
激活并安装插件后,我就可以完全下订单了。我正在连接到 WooCommerce 测试支付网关的开发环境中工作,因此我不确定这是否是一个促成因素。
有什么想法吗?
根据对相关代码的审查,尝试抛出错误而不是使用
wc_add_notice()
(未经测试):
add_action( 'woocommerce_checkout_process', static function () {
throw new Exception( __( 'Order invalid.' ) );
} );