Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php woocommerce\u订单\u状态\u后端未触发处理挂钩_Php_Wordpress_Woocommerce_Hook_Url Redirection - Fatal编程技术网

Php woocommerce\u订单\u状态\u后端未触发处理挂钩

Php woocommerce\u订单\u状态\u后端未触发处理挂钩,php,wordpress,woocommerce,hook,url-redirection,Php,Wordpress,Woocommerce,Hook,Url Redirection,当管理员手动将订单状态从挂起更改为处理付款时,我想将此管理员重定向到外部网站以完成其他步骤。在任何阶段都不应重定向客户,只应重定向管理员 我已将其添加到我的function.php中,但状态更改时不会发生任何变化: function my_woocommerce_order_status_processing($order_id) { header('Location: http://www.google.com'); } add_action('woocommerce_order_stat

当管理员手动将订单状态从挂起更改为处理付款时,我想将此管理员重定向到外部网站以完成其他步骤。在任何阶段都不应重定向客户,只应重定向管理员

我已将其添加到我的function.php中,但状态更改时不会发生任何变化:

function my_woocommerce_order_status_processing($order_id) {
  header('Location: http://www.google.com');
}
add_action('woocommerce_order_status_processing', 'my_woocommerce_order_status_processing');

请问,我怎样才能做到这一点?

你试过使用这个钩子吗

add_action( 'woocommerce_order_status_processing', array( $this, 'yourfunction_order_processing') );
我在后端使用这个钩子来生成一些特殊的装箱单和自动化过程,我认为这样可以很容易地钩住它。
使用WC 2.6进行测试

您是否尝试过使用此挂钩

add_action( 'woocommerce_order_status_processing', array( $this, 'yourfunction_order_processing') );
function custom_processing($order_id) {
    if (is_admin()) {
        header('Location: http://www.google.com');
        die();
    } else {
        echo $order_id; // do whatever you want
        exit;
    }
}

add_action('woocommerce_order_status_processing', 'custom_processing');
我在后端使用这个钩子来生成一些特殊的装箱单和自动化过程,我认为这样可以很容易地钩住它。 使用WC 2.6进行测试

function custom_processing($order_id) {
    if (is_admin()) {
        header('Location: http://www.google.com');
        die();
    } else {
        echo $order_id; // do whatever you want
        exit;
    }
}

add_action('woocommerce_order_status_processing', 'custom_processing');
测试正常


测试正常

管理员手动将订单状态更改为“正在处理付款”,而不是客户时,应将其重定向。当订单更改为处理时,管理员需要在另一个网站上标记某些内容,从而重定向。您知道后端存在一个钩子吗?我正在查看文档,但找不到任何与管理员订单页面相关的内容。正如我所说,这个钩子只适用于前台…我不认为你可以用一个钩子,甚至是一个管理员的钩子…但是我希望有人能给出一个很好的答案来解决你的问题。当管理员手动将订单状态更改为处理付款时,应该重定向到管理员,而不是客户。当订单更改为处理时,管理员需要在另一个网站上标记某些内容,从而重定向。您知道后端存在一个钩子吗?我正在查看文档,但找不到任何与管理员订单页面相关的内容。正如我所说,这个钩子只适用于前台…我不认为你可以用一个钩子甚至一个管理员的钩子来实现这一点…但我希望有人能给出一个很好的答案来解决你的问题。我以管理员身份登录并更改订单状态来测试我以管理员身份登录并更改订单状态来测试