Caveat: Ich bin ein Solo-freier Designer kein Entwickler ;-)Speichern WooCommerce Bestellen Produkte auf Benutzer Meta Benutzerdefinierte Feld
ich ein benutzerdefiniertes Feld in dem Wordpress Benutzer meta membership
genannt erstellt haben.
Ich habe den folgenden Code ausprobiert, um den WooCommerce-Produktnamen im Feld membership
an der Kasse with help from this answer zu speichern.
Aktualisiert Versuch:
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);
Es erzeugt keinen Fehler, aber nicht speichert den Produktnamen membership
.
Hilfe geschätzt.
Bitte lesen Sie erneut @Reigels Antwort, die Sie akzeptiert haben. Der zweite Parameter ist '$ posted', der die' $ _POST [] 'Werte und nicht' $ order_id' enthält, die Sie im obigen Code verwenden. Da der Code keine gültige Reihenfolge finden kann, speichert er die Meta nicht. –
Verwenden Sie 'woocommerce_checkout_update_order_meta' von Ihrer letzten Frage ... es hat die Auftrags-ID ... und Sie können die Kunden-ID von der Auftrags-ID bekommen ... Ich kann jetzt nicht den vollen Code geben, weil ich auf Handy bin ... – Reigel
Ich kann nicht sehen, wo sich die order_id in 'woocommerce_checkout_update_order_meta' befindet. – Steve