【问题标题】:Woocommerce default order statusWoocommerce 默认订单状态
【发布时间】:2017-04-02 01:03:04
【问题描述】:

我正在尝试编写 Wordpress Woocommerce 代码,以便所有新订单都按订单状态标记为“完成”。代码不起作用。我究竟做错了什么?

我在functions.php中添加了这个:

function autocomplete_orders() {
    add_action('woocommerce_thankyou', 'autocomplete_all_orders');
    /**
     * sp_autocomplete_all_orders 
     *
     * Register custom tabs Post Type
     *
     * @param   int $order_id
     *
     * @return  null
     */
    function autocomplete_all_orders($order_id) {
        global $woocommerce;

        if (!$order_id)
            return;
        $order = new WC_Order($order_id);
        $order->update_status('completed');
    }
}

【问题讨论】:

  • 删除函数autocomplete_orders并将代码留在你的functions.php
  • 您需要添加一个动作来调用 autocomplete_orders() ,显然情况并非如此。没有它,woocommerce_thankyou 操作将永远不会触发

标签: php wordpress woocommerce hook-woocommerce


【解决方案1】:
function autocomplete_all_orders( $order_id ) { 
    if ( ! $order_id ) return;
    
    $order = wc_get_order( $order_id );
    $order->update_status( 'completed' );
}
add_action( 'woocommerce_thankyou', 'autocomplete_all_orders' );

【讨论】:

    猜你喜欢
    • 2022-09-30
    • 2020-02-01
    • 2017-05-24
    • 1970-01-01
    • 2013-09-10
    • 2016-04-17
    • 2016-10-13
    • 2017-07-16
    • 1970-01-01
    相关资源
    最近更新 更多