https://tdestudiodesign.com/wp-content/plugins/whatsapp/style.css

Como Freelancer de desarrollo de WooCommerce, todos los días repito muchas operaciones de codificación que me hacen perder el tiempo. Uno de ellos es: «¿Cómo obtener ____ si tengo la variable/objeto $ pedido?«.

Por ejemplo, «¿Cómo puedo conseguir el Total de pedido» O «¿Cómo puedo conseguir el ordenar artículos» O tal vez el fechas de pedido, ID de cliente, información de facturación, método de pago, estado de pedidoy así sucesivamente … ¡espero que este artículo también te ayude a ahorrar tiempo!

Como hemos visto en otros artículos, Obtener información del producto de $ Product Object y Obtener información de carrito de un objeto $ carrono siempre puedes tener acceso directo al $ pedido variable.

A veces, puedes tener el $ orden_id Disponible, por ejemplo. En ese escenario, puede «obtener» el objeto de pedido con el wc_get_order Función de WooCommerce.

También es posible ganar $ pedido información si está en una plantilla de correo electrónico. Esto puede ser útil para mostrar adicionales $ pedido información en sus comunicaciones transaccionales o activar funciones personalizadas. De cualquier manera, ¡disfruta!

1. Tiene acceso a la variable de orden $

Los ganchos (do_action y Apply_filters) usan argumentos adicionales que se transmiten a la función. Si te permiten usar el «$ pedido«Objeto, estás en el negocio. Aquí le mostramos cómo obtener toda la información del pedido:

 // Get Order ID and Key $order->get_id(); $order->get_order_key();  // Get Order Totals $order->get_formatted_order_total(); $order->get_cart_tax(); $order->get_currency(); $order->get_discount_tax(); $order->get_discount_to_display(); $order->get_discount_total(); $order->get_total_fees(); $order->get_formatted_line_subtotal(); $order->get_shipping_tax(); $order->get_shipping_total(); $order->get_subtotal(); $order->get_subtotal_to_display(); $order->get_tax_location(); $order->get_tax_totals(); $order->get_taxes(); $order->get_total(); $order->get_total_discount(); $order->get_total_tax(); $order->get_total_refunded(); $order->get_total_tax_refunded(); $order->get_total_shipping_refunded(); $order->get_item_count_refunded(); $order->get_total_qty_refunded(); $order->get_qty_refunded_for_item(); $order->get_total_refunded_for_item(); $order->get_tax_refunded_for_item(); $order->get_total_tax_refunded_by_rate_id(); $order->get_remaining_refund_amount();   // Get and Loop Over Order Items foreach ( $order->get_items() as $item_id => $item ) {    $product_id = $item->get_product_id();    $variation_id = $item->get_variation_id();    $product = $item->get_product(); // see link above to get $product info    $product_name = $item->get_name();    $quantity = $item->get_quantity();    $subtotal = $item->get_subtotal();    $total = $item->get_total();    $tax = $item->get_subtotal_tax();    $tax_class = $item->get_tax_class();    $tax_status = $item->get_tax_status();    $allmeta = $item->get_meta_data();    $somemeta = $item->get_meta( '_whatever', true );    $item_type = $item->get_type(); // e.g. "line_item", "fee" }  // Other Secondary Items Stuff $order->get_items_key(); $order->get_items_tax_classes(); $order->get_item_count(); $order->get_item_total(); $order->get_downloadable_items(); $order->get_coupon_codes();   // Get Order Lines $order->get_line_subtotal(); $order->get_line_tax(); $order->get_line_total();   // Get Order Shipping $order->get_shipping_method(); $order->get_shipping_methods(); $order->get_shipping_to_display();   // Get Order Dates $order->get_date_created(); $order->get_date_modified(); $order->get_date_completed(); $order->get_date_paid();   // Get Order User, Billing & Shipping Addresses $order->get_customer_id(); $order->get_user_id(); $order->get_user(); $order->get_customer_ip_address(); $order->get_customer_user_agent(); $order->get_created_via(); $order->get_customer_note(); $order->get_address_prop(); $order->get_billing_first_name(); $order->get_billing_last_name(); $order->get_billing_company(); $order->get_billing_address_1(); $order->get_billing_address_2(); $order->get_billing_city(); $order->get_billing_state(); $order->get_billing_postcode(); $order->get_billing_country(); $order->get_billing_email(); $order->get_billing_phone(); $order->get_shipping_first_name(); $order->get_shipping_last_name(); $order->get_shipping_company(); $order->get_shipping_address_1(); $order->get_shipping_address_2(); $order->get_shipping_city(); $order->get_shipping_state(); $order->get_shipping_postcode(); $order->get_shipping_country(); $order->get_address(); $order->get_shipping_address_map_url(); $order->get_formatted_billing_full_name(); $order->get_formatted_shipping_full_name(); $order->get_formatted_billing_address(); $order->get_formatted_shipping_address();   // Get Order Payment Details $order->get_payment_method(); $order->get_payment_method_title(); $order->get_transaction_id();   // Get Order URLs $order->get_checkout_payment_url(); $order->get_checkout_order_received_url(); $order->get_cancel_order_url(); $order->get_cancel_order_url_raw(); $order->get_cancel_endpoint(); $order->get_view_order_url(); $order->get_edit_order_url();   // Get Order Status $order->get_status();  // Get Thank You Page URL $order->get_checkout_order_received_url(); 

2. Tiene acceso a $ orden_id variable

Si tiene acceso a la ID de pedido (una vez más, generalmente el Do_Action o Aplice_Filters puede darle esto), primero debe obtener el objeto de pedido. Luego haga exactamente las mismas cosas que anteriores, y obtenga el estado del pedido, la facturación del pedido, el envío del pedido, etc.

 // Get $order object from order ID   $order = wc_get_order( $order_id );   // Now you have access to (see above)...   if ( $order ) {    $order->get_formatted_order_total( );    // etc.    // etc. } 

3. Tiene acceso a $ correo electrónico variable

Si está trabajando con los correos electrónicos de WooCommerce, a menudo tendrá el $ correo electrónico objeto disponible como parámetro. Para obtener el objeto de eso, necesita un paso adicional. Luego haz exactamente las mismas cosas que arriba.

 // Get $order object from $email   $order = $email->object;   // Now you have access to (see above)...   if ( $order ) {    $order->get_id();    $order->get_formatted_order_total( );    // etc.    // etc. } 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *