警告:私はソロフリーランスのデザイナーではない私はmembership
と呼ばれるWordpressのユーザーメタにカスタムフィールドを作成した開発者;-)保存WooCommerce注文製品名
です。
私は、チェックアウトwith help from this answerのmembership
カスタムフィールドにWooCommerceの商品名を保存するために次のコードを試しました。
更新しようと:
function wascc_woocommerce_checkout_update_user_meta_membership ($customer_id, $posted) {
if (isset($posted['$orderid'])) {
$order = $posted['$orderid'];
}
$theorder = new WC_Order($order);
$items = $theorder->get_items();
foreach ($items as $item) {
$product_name = $item['name'];
}
if (!(empty($product_name))) {
update_user_meta($customer_id, 'membership', $product_name);
}
}
add_action('woocommerce_checkout_update_user_meta', 'wascc_woocommerce_checkout_update_user_meta_membership', 10, 2);
それはエラーを生成しませんが、membership
に製品名を保存しません。
ヘルプありがとうございます。
あなたが受け入れた@ Reigelの回答をもう一度お読みください。 2番目のパラメータは '$ posted'です。これには上記のコードで使用している' $ order_id'ではなく '$ _POST []'の値が含まれています。コードは有効なオーダーを見つけることができないため、メタを保存しません。 –
あなたの最後の質問から 'woocommerce_checkout_update_order_meta'を使用してください...それは注文IDを持っています...あなたは注文IDから顧客IDを得ることができます...私はモバイルで現在完全なコードを与えることはできません... – Reigel
order_idが 'woocommerce_checkout_update_order_meta'にどこにあるのかわかりません。 – Steve