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 😉

La entrada Cómo quitar todo lo que le sobra (o no) a WooCommerce la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

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