Código php para filtrar por fecha los pedidos en woocommerce

Club para webmasters Foros Desarrollo web Código php para filtrar por fecha los pedidos en woocommerce

Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • Autor
    Entradas
  • #46899 Karma: 0
    Mariano RT
    Participante
    5

    Hola! os comparte este código que funciona muy bien, sirve para los que usamos woocommerce nos permita filtrar por días o por un rango seleccionado de fechas, ya que actualmente sólo filtra por meses enteros.

    Agrega este código en tu plugin de fragmentos de código o en el archivo functions.php de tu tema hijo:
    // Agrega los campos de filtro de fecha
    add_action(‘restrict_manage_posts’, ‘filtro_fecha_pedidos’);

    function filtro_fecha_pedidos() {
    global $typenow;
    if ($typenow == ‘shop_order’) {
    ?>
    <input type=»date» name=»start_date» id=»start_date» placeholder=»<?php esc_attr_e(‘Fecha inicio’, ‘woocommerce’); ?>» value=»<?php echo esc_attr($_GET[‘start_date’] ?? »); ?>»/>
    <input type=»date» name=»end_date» id=»end_date» placeholder=»<?php esc_attr_e(‘Fecha fin’, ‘woocommerce’); ?>» value=»<?php echo esc_attr($_GET[‘end_date’] ?? »); ?>»/>
    <?php
    }
    }

    // Modifica la consulta de pedidos para filtrar por fecha
    add_filter(‘request’, ‘filtrar_pedidos_por_fecha’);

    function filtrar_pedidos_por_fecha($vars) {
    global $typenow, $wpdb;
    if ($typenow == ‘shop_order’ && isset($_GET[‘start_date’]) && $_GET[‘start_date’] && isset($_GET[‘end_date’]) && $_GET[‘end_date’]) {
    $vars[‘date_query’] = array(
    ‘after’ => sanitize_text_field($_GET[‘start_date’]),
    ‘before’ => sanitize_text_field($_GET[‘end_date’]),
    ‘inclusive’ => true,
    );
    }
    return $vars;
    }

    #46900 Karma: 0
    David Cuesta
    Superadministrador
    172

    Gracias por el aporte!

Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • Debes estar registrado para responder a este debate.