Filtrar por forma de pago en los pedidos de WooCommerce

webempresa woocommerce diegol

Dentro del panel de administrador de los pedidos de WooCommerce, tenemos diferentes filtros para encontrar los pedidos que necesitamos por una característica como fecha o usuario del pedido. Esto se nos puede quedar muy limitado a la hora de filtrar pedidos en WooCommerce.

filtros pedidos woocommerce

Es por eso, que en este tutorial vamos a añadir el filtro de método de pago como transferencia bancaria o PayPal. Podremos filtrar los pedidos eligiendo un método de pago que tengamos activo:

filtrar pedidos metodo pago

Para conseguir esta funcionalidad, no hace falta ningún plugin. Si no añadir el siguiente código al fichero functions.php de nuestro Child Theme o bien en nuestro plugin de funcionalidades como explico aquí.

// Añadir el filtro de método de pago en la página de pedidos
function dl_anadir_filtro_forma_pago_pedidos() {
    global $typenow;
    if ( 'shop_order' !== $typenow ) {
        return;
    }

    $methods = WC()->payment_gateways->payment_gateways();
    ?>
    <select name="payment_method" id="dropdown_payment_method">
        <option value=""><?php _e( 'Todos los métodos de pago', 'text_domain' ); ?></option>
        <?php foreach ( $methods as $method ) : ?>
            <?php if ( 'yes' === $method->enabled ) : ?>
                <option value="<?php echo esc_attr( $method->id ); ?>"><?php echo esc_html( $method->get_title() ); ?></option>
            <?php endif; ?>
        <?php endforeach; ?>
    </select>
    <?php
}
add_action( 'restrict_manage_posts', 'dl_anadir_filtro_forma_pago_pedidos' );

// Filtrar pedidos por método de pago
function dl_filtrar_pedidos_pago( $query ) {
    global $pagenow, $typenow;

    if ( 'edit.php' !== $pagenow || 'shop_order' !== $typenow || !isset( $_GET['payment_method'] ) || empty( $_GET['payment_method'] ) ) {
        return;
    }

    $payment_method = sanitize_text_field( $_GET['payment_method'] );
    $query->set( 'meta_query', array(
        array(
            'key' => '_payment_method',
            'value' => $payment_method,
        ),
    ));
}
add_filter( 'parse_query', 'dl_filtrar_pedidos_pago' );

Así de sencillo podremos empezar a filtrar por el tipo de pago que realizó el cliente. Recuerda que tienes mi servicio de mantenimiento WooCommerce si no sabes realizarlo en tu tienda online o te da problemas.

Cualquier duda como siempre, os leo en comentarios.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
template monsters diegol

Especialista en Comercio electrónico con Woocommerce. Te ayudo a crear, gestionar y publicitar tu Ecommerce en función de tu sector y público objetivo. Puedes encontrarme en Diegol.top

¿Necesitas ayuda con este tutorial? Mándame un correo y te resuelvo todas las dudas!


Ver servicios Curso de WooCommerce

También puedes realizar una donacion para seguir apoyando la salida de nuevos tutoriales y actualizaciones

Reader Interactions

Deja una respuesta

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