我的函数未收到在“woocommerce_checkout_order_processed”挂钩中传递的发布数据。 我检查了 class-wc-checkout 以确保数据在调用之前存在。
这是我的函数文件中的设置:
add_action( 'woocommerce_checkout_order_processed', 'wp_zlc_woocommerce_checkout_order_processed',10 );
function wp_zlc_woocommerce_checkout_order_processed($order_id,$posted_data=NULL,$order=NULL){
如果我不将 posts_data 和 $order 变量设置为 NULL,则代码将失败并显示: PHP 致命错误:未捕获的 ArgumentCountError:函数 wp_zlc_woocommerce_checkout_order_processed() 的参数太少,1 个已通过......
我尝试了多种方案都没有成功
试试这个:
add_action( 'woocommerce_checkout_order_processed', 'wp_zlc_woocommerce_checkout_order_processed',10, 3);
这样做的原因是因为动作
woocommerce_checkout_order_processed
有3个参数,因此在add_action()
中,需要在末尾添加3来指示函数传递的参数数量。