Wordpress Woocommerce Woocommerce\订单\状态\仅在用户端处理触发器
嗨,我想问你们,这在吴哥是不是可行 我用的是这个钩子, woocommerce\u订单\u状态\u处理 我希望这个钩子只在付款后在用户端调用,这是正常的,但在管理员中如果我更改订单状态,这个钩子也会触发,我可以在管理员中禁用我的自定义钩子,并且只在用户端运行/触发吗Wordpress Woocommerce Woocommerce\订单\状态\仅在用户端处理触发器,wordpress,woocommerce,Wordpress,Woocommerce,嗨,我想问你们,这在吴哥是不是可行 我用的是这个钩子, woocommerce\u订单\u状态\u处理 我希望这个钩子只在付款后在用户端调用,这是正常的,但在管理员中如果我更改订单状态,这个钩子也会触发,我可以在管理员中禁用我的自定义钩子,并且只在用户端运行/触发吗 add_action( 'woocommerce_order_status_processing', 'order_extracode' ); function order_extracod( $order_id) { .....
add_action( 'woocommerce_order_status_processing', 'order_extracode' );
function order_extracod( $order_id) {
.....
}
上面的代码是我添加的函数和钩子,我试过了!是_admin,但它不工作,并且仍在管理命令中处理此功能
感谢TIAwoocommerce无法区分触发woocommerce\u订单\u状态\u处理操作的人 如果您希望在用户完成支付时发生一些事情,您可以尝试抽象wc order.php中的woocommerce\u payment\u complete钩子。或者您可以使用current\u user\u can函数来确定钩子是否可以执行,如下所示
if( !current_user_can( 'administrator' ) && !current_user_can( 'manage_options' ) ) {
//do your stuff
}
这个钩子将在每次身高变化时执行。 您可以做的是决定是在前端还是在仪表板中执行代码
add_action( 'woocommerce_order_status_processing', 'order_extracode' );
function order_extracod( $order_id) {
if( ! is_admin()){
// Your code here
}
}
检测您是否在仪表板中的唯一条件标记是is_admin如果管理员想要使用前端,此解决方案不会触发挂钩,最好使用分隔管理员和前端的条件标记。