Si gestionas una tienda con WooCommerce, hay una pantalla que visitas más que ninguna otra: Pedidos. Da igual si vendes 5 pedidos al día o 500: al final tu trabajo gira en torno a revisar pagos, preparar envíos, resolver incidencias, gestionar devoluciones o responder a clientes. Y, sin embargo, WooCommerce lo deja “escondido” dentro de su propio menú, obligándote a hacer clics de más cada vez que entras al administrador.
En este artículo vas a ver cómo sacar el menú de Pedidos a un nivel superior en el panel de WordPress para que esté siempre visible, como un acceso directo. Es un cambio pequeño, pero con un impacto enorme en el día a día: menos clics, más rapidez, más foco y una gestión de tienda mucho más ágil. (El código PHP te lo dejo justo debajo para que lo copies y lo apliques en tu web).
Índice
Por qué es buena idea mover el menú de Pedidos fuera de WooCommerce
Cuando trabajas con el admin de WordPress, cada segundo cuenta. Y en una tienda online, cualquier mejora que reduzca fricción en el panel de administración se traduce en más productividad y menos errores. Esto nos aporta ventajas claras:
- Ahorro de tiempo real: entras a pedidos con un clic, sin desplegar el menú de WooCommerce.
- Accesibilidad inmediata: especialmente útil si revisas pedidos constantemente (pagados, pendientes, fallidos, en preparación…).
- Mejor organización del admin: separas la gestión operativa (pedidos) del resto de ajustes de WooCommerce, que se usan con menos frecuencia.
- Menos fatiga: cuando repites una acción muchas veces al día, reducir un paso es una mejora enorme.
- Ideal para equipos: si tienes personal que solo gestiona pedidos, es más fácil de entender y evita que “se pierdan” dentro de ajustes o extensiones.
- Enfocado a logística y soporte: si tu día a día es preparación de pedidos, etiquetas, envíos o incidencias, este acceso directo te ahorra fricción constante.
¿Cómo implementarlo?
El código para que no haya confusiones duplica el menú, es decir, sigue estando en la misma zona del submenú de WooCommerce en el admin de WordPress. Es compatible si tienes el HPOS instalado y deberás añadir este código al functions.php de tu Child Theme o bien a tu plugin de funcionalidades:
add_action( 'admin_menu', 'dl_menu_pedidos_woocommerce_redirect_badge', 50 );
function dl_menu_pedidos_woocommerce_redirect_badge() {
if ( ! class_exists( 'WooCommerce' ) ) {
return;
}
if ( ! current_user_can( 'manage_woocommerce' ) ) {
return;
}
$processing_orders = mi_wc_get_orders_count( 'wc-processing' );
$menu_title = 'Pedidos';
if ( $processing_orders > 0 ) {
$menu_title .= ' <span class="awaiting-mod count-' . esc_attr( $processing_orders ) . '"><span class="pending-count">' . esc_html( $processing_orders ) . '</span></span>';
}
add_menu_page(
'Pedidos',
$menu_title,
'manage_woocommerce',
'mi-wc-orders-redirect',
'mi_wc_orders_redirect_cb',
'dashicons-cart',
55.5
);
}
function mi_wc_orders_redirect_cb() {
$url = admin_url( 'admin.php?page=wc-orders' ); // tu URL real
wp_safe_redirect( $url );
exit;
}
function mi_wc_get_orders_count( $status = 'wc-processing' ) {
if ( function_exists( 'wc_get_orders' ) ) {
$orders = wc_get_orders( array(
'status' => $status,
'limit' => -1,
'return' => 'ids',
) );
return is_array( $orders ) ? count( $orders ) : 0;
}
if ( function_exists( 'wc_orders_count' ) ) {
return (int) wc_orders_count( $status );
}
return 0;
}
Consiguiendo el siguiente resultado:








Deja una respuesta