Oferta SiteGround Black Friday

Cómo desactivar plugins dependiendo de si los usuarios están conectados o no

En sitios de gran volumen hay que ser fino a la hora del control de la carga de recursos, procurando evitar la activación de todo aquello que no sea necesario en una situación, página, ubicación particular.

Mediante la carga selectiva de plugins podemos optimizar al máximo el consumo de recursos de nuestra web, consiguiendo de este modo un funcionamiento óptimo e incluso un ahorro en costes de hosting.

En esta ocasión vamos a plantear la situación en la que queremos que para los usuarios que estén conectados a nuestro sitio, desde administradores a clientes, se desactiven ciertos plugins que no tendrían utilidad alguna para ellos, al ser plugins con funcionalidades orientadas a usuarios no conectados a la web, como por ejemplo plugins de suscripción, ventanas emergentes o cualquier otro que se te ocurra.

La idea es evitar que esos plugins que no tienen utilidad para el usuario conectado, no consuman recursos, se desactiven para usuarios conectados.

El código que debes añadir es el siguiente:

/* Plugins que no se cargan para usuarios conectados */
add_filter( 'option_active_plugins', 'desactivar_plugins_usuarios_conectados' );
function desactivar_plugins_usuarios_conectados( $plugins ) {
// El gancho 'option_active_plugins' se lanza antes de que se genere info de usuario
// por lo que hay que cargar pronto este archivo
require (ABSPATH . WPINC . '/pluggable.php');
// Si estamos conectados pero no en el area de admin de WP
if ( is_user_logged_in() & !is_admin() ) {
// Usa el slug de la carpeta del plugin y el nombre de su archivo php principal
// como en los siguientes ejemplos
$plugins_not_needed = array ('woo-add-to-cart-popup/woo-add-to-cart-popup.php',
'hurry-timer/hurry-timer.php','wp-advanced-ads-manager/wp-advanced-ads-manager.php' );
foreach ( $plugins_not_needed as $plugin ) {
$key = array_search( $plugin, $plugins );
if ( false !== $key ) {
unset( $plugins[ $key ] );
}
}
}
return $plugins;
}

Añade el código como plugin independiente o plugin imprescindible (mejor), pues necesita cargarse pronto el código para saber qué plugins están activos o no, y comprueba si, efectivamente, están desactivados los plugins del array cuando estás conectado a la web, y activos cuando estás desconectado.

Por supuesto, los slugs de los plugins del código son de ejemplo, pon algunos reales que tengas instalados.

Otro día probamos otras posibles situaciones 😉

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 4.6 / 5. Total de votos: 11

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

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

Sobre el autor

1 comentario en “Cómo desactivar plugins dependiendo de si los usuarios están conectados o no”

  1. Me parece muy interesante, gracias por la entrada. Lo único es que he intentado no cargar el plugin de accesibilidad y de cookies cuando estás logeado como admin (y accedas a las páginas), pero no me ha funcionado, porque los desactiva totalmente al entrar como admin, y ya no deja reactivarlos, incluso aunque se entre sin estar conectado, ya que deja el plugin desactivado la primera vez que entras como admin, pero ya no se activa… ¿alguna idea de como hacer esto?.
    Lo que quiero es que los usuarios «normales» si que veas el banner de cookies y de accesibilidad, pero que cuando estás conectado como admin, pués que no los cargue para que no salga en las páginas.

    Saludos y muchas gracias.

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

 

Scroll al inicio