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

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

將WooCommerce訂單項自定義字段總和保存為新的元數據

將WooCommerce訂單項自定義字段總和保存為新的元數據

PHP
侃侃爾雅 2021-05-06 14:38:04
當在此WooCommerce商店中訂購特定產品時,兩個元值將添加到該訂單中。存儲元值的兩個字段位于 wp_woocommerce_order_itemmeta中繼鍵為:quantityassemblycost我想在下新訂單時以編程方式創(chuàng)建一個新的自定義字段,并將此新字段的值設置為等于quanity * assemblycost是否已訂購的產品存在元密鑰assemblycost。經過一番研究,我發(fā)現這woocommerce_checkout_update_order_meta是一個將訂單保存到數據庫并且元數據已更新后執(zhí)行的掛鉤。因此,這似乎是我應該使用的鉤子。參考: 在Woocommerce中為訂單添加額外的meta: function add_item_meta( $order_id ) {            //global $woocommerce;            update_post_meta( $order_id, '_has_event', 'yes' );        } 我嘗試在functions.php中添加以下代碼: add_action('woocommerce_checkout_update_order_meta',function( $order_id, $posted ) {      $assemblycost = wc_get_order_item_meta($order_id, 'assemblycost');    $quantity = wc_get_order_item_meta($order_id, 'quantity');    $calculatedValue = $quantity * $assemblycost;    wc_update_order_item_meta( $order_id, 'calculated_field', $calculatedValue );  } , 10, 2);這確實創(chuàng)建了新的meta字段,但是將其值設置為0。我如何更改上面的代碼,以使calculated_field的值是的乘積quantity * assemblycost?
查看完整描述

1 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

這與訂單商品有關,應另存為訂單商品元數據,而不能另存為訂單元數據。


現在,這應該與您的2個自定義字段quantity和同時保存assemblycost。因此,您應該在問題中提供保存quantity和assemblycost作為訂單項元數據的相關代碼。


您可以嘗試以下操作(但是我不確定是否可以使用):


add_action( 'woocommerce_checkout_create_order_line_item', 'action_checkout_create_order_line_item_callback', 1000, 4 );

function action_checkout_create_order_line_item_callback( $item, $cart_item_key, $cart_item, $order ) {

    $quantity     = $item->get_meta('quantity');

    $assemblycost = $item->get_meta('assemblycost');

    if( isset($quantity) && isset($assemblycost) ) {

        $item->update_meta_data( 'calculated_field', $quantity * $assemblycost );

    }

}

代碼進入您的活動子主題(或活動主題)的function.php文件中。


查看完整回答
反對 回復 2021-05-21
  • 1 回答
  • 0 關注
  • 185 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號