La carga condicional de plugins es una técnica avanzada muy útil para optimizar el rendimiento de tu sitio WordPress.
Consiste en cargar un plugin (o partes de él, como sus scripts y estilos) solo cuando realmente es necesario, en lugar de cargarlo en cada página. Esto evita que código innecesario ralentice tu sitio en páginas donde el plugin no se utiliza.
Para lograr esto, necesitas un enfoque basado en código. Generalmente, implica deshabilitar la carga por defecto del plugin y luego usar hooks de WordPress para cargar sus activos (CSS y JavaScript) o incluso activar el plugin completo solo en condiciones específicas.
Este es el método más común, ya que muchos plugins cargan sus estilos y scripts en todas las páginas.
wp_dequeue_script( 'handel del js' )
y wp_deregister_script( 'handle del js' )
.wp_dequeue_style( 'handle del css' )
y wp_deregister_style( 'handle del css
' )
.wp_dequeue_style
/script
elimina el asset de la cola de carga, mientras que wp_deregister_style
/script
lo elimina del registro.is_front_page()
: Verdadero si es la página de inicio.is_home(
): Verdadero si es la página de entradas del blog (puede ser la misma que is_front_page()
o no, según tus ajustes).is_page('slug-pagina')
: Verdadero si es una página específica (por su slug o ID). Puedes pasar un array de slugs/IDs: is_page(array('contacto', 'presupuesto')).is_single()
: Verdadero si es una entrada individual de cualquier tipo de post.is_single('slug-post')
: Verdadero si es una entrada específica.s_singular('tipo-de-post')
: Verdadero si es una entrada individual de un tipo de post específico (ej. is_singular('product') para productos de WooCommerce).is_category('slug-categoria')
: Verdadero si es una página de categoría.is_tag('slug-etiqueta')
: Verdadero si es una página de etiqueta.is_archive()
: Verdadero si es una página de archivo (categoría, etiqueta, fecha, autor…).is_404()
: Verdadero si es la página de error 404.is_user_logged_in()
: Verdadero si el usuario actual está conectado.is_woocommerce()
, is_shop()
, is_product_category()
, is_product()
, is_cart()
, is_checkout()
.Tienes la información completa en mi guía sobre la carga condicional de plugins en WordPress.
Este método es mucho más complejo y arriesgado, y solo se recomienda para desarrolladores experimentados. Implica manipular el array de plugins activos en la base de datos de WordPress. Si se hace mal, puede romper tu sitio.
No se puede «desactivar» un plugin por completo para que no se cargue su lógica PHP de forma condicional tan fácilmente, ya que los plugins se cargan al inicio del proceso de WordPress. La «carga condicional» de plugins suele referirse a la carga condicional de sus assets (CSS/JS).
Advertencia: Este método es propenso a errores y conflictos si el plugin depende de otras acciones tempranas o si otros plugins dependen de él. No se recomienda para la mayoría de los usuarios.
Para la mayoría de los usuarios, la forma más segura y sencilla de implementar la carga condicional de assets es usar un plugin especializado que facilite esta tarea sin tocar código:
Estos plugins te permiten lograr el mismo objetivo (mejorar el rendimiento al cargar solo lo necesario) de una forma mucho más segura y amigable.