Acción de pedido personalizado en WooCommerce

2 minutos de lectura

avatar de usuario
Hasan

Estoy tratando de agregar una acción de pedido personalizado en la página de pedidos de WooCommerce.

Quiero agregar dos nuevas opciones en el menú desplegable Acciones de pedidos masivos en WooCommerce

  1. Marcar como reembolsado
  2. Marcar en espera

Se agradecerá enormemente cualquier ayuda en esta cuestión.

  • posible duplicado de ¿Cómo agregar acciones masivas personalizadas en las tablas de listas de WordPress?

    – brasofilo

    6 de junio de 2014 a las 12:32

  • Parece ser pero no realmente. WooCommerce usa una estructura diferente.

    – Hasan

    7 junio 2014 a las 13:36

avatar de usuario
Andrés

Hay dos partes a resolver con este objetivo.

La primera parte es obtener una acción de pedido personalizada en el metabox de la página de pedidos individual. Estaba tratando de lograr lo mismo, pero no encontré nada definitivo, así que creé un tutorial aquí:

http://neversettle.it/add-custom-order-action-woocommerce/

La segunda parte es agregar una acción de pedido personalizada en el menú desplegable Acciones masivas de la página principal de Pedidos. Skyverge tiene un excelente tutorial sobre eso aquí:

http://www.skyverge.com/blog/add-custom-bulk-action/

Lo único específico que deberá tener en cuenta es usar el correcto post_type. Para los pedidos de WooCommerce, deberá usar esto en lugar del primer ejemplo en ese tutorial:

add_action('admin_footer-edit.php', 'custom_bulk_admin_footer');

function custom_bulk_admin_footer() {

    global $post_type;

    if($post_type == 'shop_order') {
    ?>
    <script type="text/javascript">
        jQuery(document).ready(function() {
            jQuery('<option>').val('export').text('<?php _e('Export')?>').appendTo("select[name="action"]");
            jQuery('<option>').val('export').text('<?php _e('Export')?>').appendTo("select[name="action2"]");
        });
    </script>
    <?php
    }
}

Observe la shop_order reemplaza la publicación por la condición que verifica qué post_type para agregar las acciones masivas.

Pero fundamentalmente, @brasofilo tiene razón: en su mayor parte, WooCommerce usa estructuras estándar de WordPress, post_type mecanismos y taxonomías. El proceso es el mismo para agregar una acción masiva a la página Pedidos que a la página Publicaciones.

Sin embargo, tiene razón sobre las acciones de pedido personalizadas en la página de pedidos individuales; eso es solo WooCommerce y deberá consultar el primer tutorial sobre cómo resolver esa parte.

  • Parece que usará una acción integrada para exportar, pero ¿qué pasa si quiero agregar otras acciones? ¿Cómo se activarán los correos electrónicos de estado de Reembolso y En espera una vez que se aplique una acción masiva?

    – Hasan

    12 de agosto de 2014 a las 19:38

  • Este método aún funciona, pero está un poco desactualizado: se debe acceder a los accesorios de pedido utilizando métodos de captación, como $order->get_id();

    – Estudio Q

    14 de septiembre de 2021 a las 9:59

¿Ha sido útil esta solución?