Cómo quitar todo lo que le sobra (o no) a WooCommerce

Desde la versión 4.0 de WooCommerce han ido apareciendo nuevos menús y secciones que no siempre son necesarios, y de hecho muchas veces solo sirven para ralentizar la carga de tu tienda online, llenar tu base de datos de información innecesaria y, en resumen, llenar tu web de basura inservible.

Así que, en mi labor divina de quitar a WordPress todo lo que le sobra, aquí tienes una guía para aprender a quitar todos esos molestos elementos que no debieron estar nunca en WooCommerce.

Nota: Casi todos los códigos que se muestran en esta guía deben añadirse al final del archivo functions.php del tema activo (hijo) o de un plugin especializado que tú crees para personalizaciones.

Cómo quitar el menú de marketing

Si hay un menú molesto es el de marketing, no vale de nada, salvo para «acoger» la gestión de cupones pero ¿y si no usas cupones? ¿tiene que estar ahí ocupando todo ese sitio?

¡Pues claro que no!

Para quitar ese menú simplemente usa este código:

add_filter( 'woocommerce_marketing_menu_items', '__return_empty_array' );
	add_filter( 'woocommerce_admin_features', 'disable_features' );

function disable_features( $features ) {
	$marketing = array_search('marketing', $features);
	unset( $features[$marketing] );
	return $features;
}

El resultado:

Cómo quitar el menú de Análisis y toda la nueva administración de WooCommerce

¡Ah! ¿que no usas para nada las páginas de analítica de WooCommerce? ¿para qué las quieres ahí ocupando ese precioso espacio y guardando datos sin objetivo alguno?

¡A por ello!

Solo un pequeño detalle, y es que está tan ligado el menú de análisis a la nueva interfaz de administración de WooCommerce que para quitar ese menú hay que quitar toda la nueva funcionalidad de administración de WooCommerce (barra superior, inicio, toda la analítica, etc.), así que es tu decisión.

El código es el siguiente:

<?php
/**
* Plugin Name: Desactivar admin y analítica de WooCommerce
* Description: Este plugin solo sirve para quitar el nuevo admin y analítica de WooCommerce.
* Version: 1.0
*/
add_filter( 'woocommerce_admin_disabled', '__return_true' );

En este caso verás que no es un código para añadir al archivo functions.php, pues no funcionaría. Es un archivo de plugin, que puedes descargar en este enlace e instalarlo como cualquier otro plugin.

El resultado:

Como puedes ver en las capturas la diferencia es abismal, una vuelta a los básicos.

Nota: Si tienes claro que no vas a necesitar toda la nueva administración de WooCommerce te recomiendo que, además de lo anterior, borres las siguientes tablas de la base de datos de tu instalación:

  • wp_wc_admin_notes
  • wp_wc_admin_note_actions
  • wp_wc_category_lookup
  • wp_wc_customer_lookup
  • wp_wc_order_coupon_lookup
  • wp_wc_order_product_lookup
  • wp_wc_order_stats
  • wp_wc_order_tax_lookup

Cómo quitar el menú de extensiones

Otro menú que puede que no uses es el de las extensiones.

El código que te librará de verlo por ahí molestando es este:

/* Desactivar menú extensiones de WooCommerce */
add_action( 'admin_menu', 'wcbloat_remove_admin_addon_submenu', 999 );
function wcbloat_remove_admin_addon_submenu() {
remove_submenu_page( 'woocommerce', 'wc-addons');
}

Y, ya de paso, nos deshacemos de los anuncios que nos sugieren de vez en cuando que instalemos tal o cual extensión o que nos conectemos a WooCommerce.com ¿vale?

Este código es lo que tienes que añadir:

add_filter( 'woocommerce_allow_marketplace_suggestions', '__return_false', 999 ); //Sugerencias extensiones
add_filter( 'woocommerce_helper_suppress_admin_notices', '__return_true' ); //Conectarse a woocommerce.com

El resultado:

¡Qué bonito y limpio nos está quedando WooCommerce! ¿verdad?

Seguimos …

Cómo quitar el widget de escritorio de WooCommerce

Si no eres de los que pasas por el escritorio de WordPress ¿para qué quieres ahí un widget de WooCommerce que tiene que hacer un montón de consultas a la base de datos para mostrar su información?

¿No será mejor ahorrarle ese trabajo al servidor y quitar esa cosa ridícula e inservible?

El código mágico para esto es este:

/* Desactivar widget de escritorio de WooCommerce */
add_action('wp_dashboard_setup', 'wcbloat_disable_woocommerce_status');
function wcbloat_disable_woocommerce_status() {
remove_meta_box('woocommerce_dashboard_status', 'dashboard', 'normal');
}

El resultado:

Cómo quitar los widgets de WooCommerce

Seguro que ya sabrás que WooCommerce añade una buena cantidad de widgets de área lateral para que los uses en tu tienda online ¿no?

¿No lo sabías? Eso es que no los utilizas, así que vamos a quitarlos, te ahorrarás un montón más de consumo de la base de datos y tanto la administración como tu tienda online irán más rápido.

El código:

/* Desactivar widgets de WooCommerce */
add_action('widgets_init', 'ayudawp_quitar_widgets_woo', 99);
function ayudawp_quitar_widgets_woo() {
unregister_widget('WC_Widget_Products');
unregister_widget('WC_Widget_Product_Categories');
unregister_widget('WC_Widget_Product_Tag_Cloud');
unregister_widget('WC_Widget_Cart');
unregister_widget('WC_Widget_Layered_Nav');
unregister_widget('WC_Widget_Layered_Nav_Filters');
unregister_widget('WC_Widget_Price_Filter');
unregister_widget('WC_Widget_Product_Search');
unregister_widget('WC_Widget_Recently_Viewed');
unregister_widget('WC_Widget_Recent_Reviews');
unregister_widget('WC_Widget_Top_Rated_Products');
unregister_widget('WC_Widget_Rating_Filter');
}

Si quieres mantener alguno de los widgets del código simplemente borra la línea o coméntala con dos líneas verticales invertidas (//).
Por ejemplo:

/* Desactivar widgets de WooCommerce */
add_action('widgets_init', 'ayudawp_quitar_widgets_woo', 99);
function ayudawp_quitar_widgets_woo() {
unregister_widget('WC_Widget_Products');
unregister_widget('WC_Widget_Product_Categories');
unregister_widget('WC_Widget_Product_Tag_Cloud');
//unregister_widget('WC_Widget_Cart');
unregister_widget('WC_Widget_Layered_Nav');
unregister_widget('WC_Widget_Layered_Nav_Filters');
unregister_widget('WC_Widget_Price_Filter');
unregister_widget('WC_Widget_Product_Search');
unregister_widget('WC_Widget_Recently_Viewed');
unregister_widget('WC_Widget_Recent_Reviews');
unregister_widget('WC_Widget_Top_Rated_Products');
unregister_widget('WC_Widget_Rating_Filter');
}

En este ejemplo hemos perdonado la vida al widget del carrito.

En cualquier caso, si quitamos todo…

El resultado:

Precioso ¿verdad?

Cómo quitar la fragmentación del carrito de WooCommerce

Si nos metemos en la parte de optimización a tope, de WPO, hay un script que ralentiza cualquier tienda online, y es el de los fragmentos del carrito o refreshed_fragments.

Esta es una característica de WooCommerce que hace que se actualicen los totales del carrito sin recargas de página.

Nota: Este código, activo por defecto, ralentiza mucho la carga de todas las páginas de tu tienda online, pero puede que tras desactivarlo no se calculen bien los cambios en el mini-carrito al añadir o quitar cantidades o productos, así que haz una comprobación siempre tras desactivarlo.

El código es este:

/* Desactivar fragmentación del carrito */
add_action('wp_enqueue_scripts', 'ayudawp_quitar_woo_cart_fragments', 99);
function ayudawp_quitar_woo_cart_fragments() {
if(function_exists('is_woocommerce')) {
wp_dequeue_script('wc-cart-fragments');
}
}

¿El resultado? Tu tienda online cargará mucho más rápido, mejorando los tiempos de carga de todas las páginas.

Cómo quitar los estilos y scripts de WooCommerce

Para terminar, otra optimización muy común y recomendable es desactivar todos los estilos y scripts que carga automáticamente WooCommerce en todas las páginas, relegando su carga solo a las páginas del carrito, donde haya productos y finalizar compra.

El código es el siguiente:

/* Desactivar estilos y scripts de WooCommerce */
add_action('wp_enqueue_scripts', 'ayudawp_quitar_scripts_woocommerce', 99);
function ayudawp_quitar_scripts_woocommerce() {
if(function_exists('is_woocommerce')) {
if(!is_woocommerce() && !is_cart() && !is_checkout() && !is_account_page() && !is_product() && !is_product_category() && !is_shop()) {
//Estilos
wp_dequeue_style('woocommerce-general');
wp_dequeue_style('woocommerce-layout');
wp_dequeue_style('woocommerce-smallscreen');
wp_dequeue_style('woocommerce_frontend_styles');
wp_dequeue_style('woocommerce_fancybox_styles');
wp_dequeue_style('woocommerce_chosen_styles');
wp_dequeue_style('woocommerce_prettyPhoto_css');
//Scripts
wp_dequeue_script('wc_price_slider');
wp_dequeue_script('wc-single-product');
wp_dequeue_script('wc-add-to-cart');
wp_dequeue_script('wc-checkout');
wp_dequeue_script('wc-add-to-cart-variation');
wp_dequeue_script('wc-single-product');
wp_dequeue_script('wc-cart');
wp_dequeue_script('wc-chosen');
wp_dequeue_script('woocommerce');
wp_dequeue_script('prettyPhoto');
wp_dequeue_script('prettyPhoto-init');
wp_dequeue_script('jquery-blockui');
wp_dequeue_script('jquery-placeholder');
wp_dequeue_script('fancybox');
wp_dequeue_script('jqueryui');
}
}
}

El resultado será especialmente notable en aquellas páginas o entradas en las que no se necesiten los estilos y scripts de WooCommerce, mejorando su rendimiento y tiempos de carga.

El resultado, como te decía, suele ser espectacular.

Extra: Cómo desactivar el medidor de fortaleza de contraseñas

Pues sí, vamos a terminar con un plus, con un extra, pues resulta que el script necesario para realizar la comprobación automática de fortaleza de contraseñas de WooCommerce, y también de WordPress, es realmente pesado.

Añade nada menos que 400 Kb de sobrecarga a todas las páginas en las que no es necesario; bueno, a todas.

El código para desactivarlo es este:

/* Desactivar medidor de fortaleza de contraseñas */ 
add_action( 'wp_print_scripts', 'ayudawp_quitar_medidor_fortaleza_claves', 10 );
function ayudawp_quitar_medidor_fortaleza_claves() {
wp_dequeue_script( 'wc-password-strength-meter' );
}

El resultado:

¿Todo eso no se puede hacer con plugins?

Bueno, un plugin ya te he dado (mira arriba) pero sí, también hay algún plugin que te ayudar a limpiar todas esas cosas que no te gustan de WooCommerce.

Se llama Disable WooCommerce Bloat, y una vez instalado y activo te permitirá activar o desactivar todas esas molestas pantallas y basurilla de WooCommerce, a golpe de clic.

¡Bueno, y eso ha sido todo!

De un plumazo hemos quitado un montón de cosas que puede que te sobren en WooCommerce, y de paso hemos optimizado la carga de tu tienda online ¿qué más se puede pedir?

Cualquier duda ya sabes, me la cuentas abajo, en los comentarios 😉

(9 votos, promedio: 5) Valora este artículo para ayudar a mejorar la calidad del blog

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

7 comentarios en “Cómo quitar todo lo que le sobra (o no) a WooCommerce”

  1. Como siempre Fernando un gran articulo, soy un usuario que no tengo ni idea de programación pero tu lo haces sencillo, tengo dos dudas Fernando, ¿el código de «Cómo quitar el menú de Análisis y toda la nueva administración de WooCommerce» puede estar mal? es que me da un error en mi plugin de códigos. Y otra duda que tengo el código de «Cómo quitar el menú de extensiones» ¿como puedo unir los dos códigos?.
    Muchas gracias y felicidades por el articulo.

    1. Lo puse mal al principio de la mañana pero ya está corregido (vacía cachés por si acaso), le sobraban unos corchetes de más. Pero vamos, yo los he probado antes de publicarlos (las capturas son con estos mismos códigos) y funcionaban sin problemas

  2. Hola, Fernando,

    Felicidades por tu gran aportación mediante este blog.

    Sería genial que nos indicaras, además de lo explicado en este fantástico artículo, más labor divina de la tuya de quitar lo que sobra en una web en la que se usa WooCommerce como catálogo, no como e-commerce y nunca se usará como tienda virtual.

    Muchas gracias de antemano!

  3. Y otra duda que tengo el código de «Cómo quitar el menú de extensiones» ¿como puedo unir los dos códigos?.
    Un saludo.

  4. Estoy usando Disable WooCommerce Bloat hace tiempo, absolutamente necesario.
    El otro que es obligatorio es Hide SEO Bloat para limpiar Yoast de tanta basura.
    Estaba buscando un plugin para hacer «login por SMS».
    Pero estoy parado, todos los que he encontrado tienen tanta basura comercial que no se pueden usar.
    Que mania esta, van a vender a sus websites y no dentro del «dashboard».

Deja un comentario

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

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba Ir al contenido