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.

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:

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.
Deja una respuesta