una todos tienda shortcodes recientes página productos plugin pagina mostrar los contiene all woocommerce custom-fields

todos - woocommerce shortcodes all categories



Guardar el nombre del producto de la orden de WooCommerce en el campo Meta personalizado del usuario (1)

como he comentado, debes usar woocommerce_checkout_update_order_meta .

Algo como esto:

function wascc_woocommerce_checkout_update_user_meta_membership ( $order_id ) { $theorder = new WC_Order( $order_id ); $items = $theorder->get_items(); foreach ( $items as $item ) { $product_name = $item[''name'']; } if (!(empty($product_name))) { // Gets the customer/user ID associated with the order. Guests are 0. $customer_id = $theorder->get_user_id(); update_user_meta( $customer_id, ''membership'', $product_name ); } } add_action( ''woocommerce_checkout_update_order_meta'', ''wascc_woocommerce_checkout_update_user_meta_membership'' );

Sin embargo, tengo dudas con su bucle foreach ... ¿está girando solo para obtener el último elemento?

Advertencia: soy un diseñador independiente solo, no un desarrollador ;-)

Creé un campo personalizado en la meta llamada membership usuario de Wordpress.

He intentado con el siguiente código guardar el nombre del producto de WooCommerce en el campo personalizado de membership en el proceso de pago con la ayuda de esta respuesta .

Intento actualizado :

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 );

No produce ningún error, pero no guarda el nombre del producto en la membership .

Ayuda apreciada.

La última pregunta puede estar relacionada .