亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

將自定義用戶字段傳遞給 WooCommerce 訂單元數據

將自定義用戶字段傳遞給 WooCommerce 訂單元數據

PHP
達令說 2023-07-08 15:47:09
我正在建立一個 Woo 網站,該網站將與 Sage X3 ERP 系統集成。我們將把新訂單推送給 Sage?,F在,我希望為每個客戶添加自定義 ID 字段,并且我能夠使用 ACF 插件來完成此任務?,F在我只需要找到一種方法將該 ID 推送到訂單元數據,以便 Sage 可以正確識別客戶。實現這一目標的最佳方法是什么?該字段的名稱是“Sage X3 Customer ID”,鍵是“sagecustomerid”。任何幫助,將不勝感激。編輯:我覺得我已經接近了,因為我現在基于以下代碼在訂單元中看到“sagecustomerid”:add_action( 'woocommerce_checkout_create_order', 'before_checkout_create_order', 10, 2 ); function before_checkout_create_order( $order, $data ) {     $order->update_meta_data( 'sagecustomerid', '$value', $meta_id = 2746 ); } 如何從數據庫表 posts ID 2746 獲取值?我似乎無法讓它發揮作用。
查看完整描述

1 回答

?
絕地無雙

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

meta ID您的函數中不需要,因此在您的函數代碼中您將擁有:

$order->update_meta_data( 'sagecustomer', $some_value );

但你需要$some_value從某個地方出發……

這是關于帖子元數據,但不是帖子數據,所以相關的數據庫表是wp_postmeta針對訂單的......

如果您需要的數據來自用戶元數據,則代碼會有點不同,例如:

add_action( 'woocommerce_checkout_create_order', 'before_checkout_create_order', 10, 2 ); 

function before_checkout_create_order( $order, $data ) { 

    if ( $value = get_user_meta( $order->get_user_id(), 'sagecustomerid', true ) ) {

        $order->update_meta_data( 'sagecustomer', $value ); 

    } 

完成后,您將能夠從以下位置獲取“sagecustomer”元值:

  • 對象WC_Order使用:$value = $order->get_meta('sagecustomer');

  • 訂單 ID ($order_id) 使用:$value = get_post_meta($order_id, 'sagecustomer', true);


查看完整回答
反對 回復 2023-07-08
  • 1 回答
  • 0 關注
  • 113 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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