第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據(jù)批準狀態(tài)和特定訂單項目更改 WooCommerce 訂單狀態(tài)

根據(jù)批準狀態(tài)和特定訂單項目更改 WooCommerce 訂單狀態(tài)

PHP
臨摹微笑 2023-04-21 10:48:57
當當前狀態(tài)為“已批準”且訂單包含特定產品(id = 10)時,我嘗試將 WooCommerce 訂單狀態(tài)更改為“處理中”。我嘗試了下面的代碼,但它不起作用。我對 php 很陌生,希望得到任何指導!add_action('woocommerce_order_status_changed', 'ts_auto_complete_business_cards');function ts_auto_complete_business_cards($order_id){    if ( ! $order_id ) {        return;    }    global $product;    $order = wc_get_order( $order_id );    if ($order->data['status'] == 'approved') {        $items=$order->get_items();        foreach ( $items as $item ) {            $product_id = $item->get_product_id();            if ($product_id!="10")            {                $order->update_status( 'completed' );            }        }    }}
查看完整描述

1 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

  • woocommerce_order_status_changed有4個參數(shù)

  • 這一行 ->if ($product_id!="10")說不等于,你也比較一個字符串而不是一個數(shù)值

試試這個方法

function action_woocommerce_order_status_changed( $order_id, $old_status, $new_status, $order ) {


    // Compare

    if( $old_status === 'approved' ) {

        // Get items

        $items = $order->get_items();


        foreach ( $items as $item ) {

            // Get product id

            $product_id = $item->get_product_id();


            if ($product_id == 10 ) {

                $order->update_status( 'processing' );

                break;

            }

        }

    }

}

add_action( 'woocommerce_order_status_changed', 'action_woocommerce_order_status_changed', 10, 4 );



查看完整回答
反對 回復 2023-04-21
  • 1 回答
  • 0 關注
  • 123 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號