No permitir desactivar plugins

Cómo podemos no permitir desactivar plugins

Esta semana veremos cómo podemos no permitir desactivar plugins a usuarios registrados de nuestra web. Este es un complemento a un artículo de hace unas semanas en el que hemos visto cómo esconder un plugin de la lista de plugins.

¿Por qué aprender a hacer esto?

Ya hemos comentado en varias ocasiones el peligro que tiene tener usuarios en nuestra web con permisos para poder administrar las páginas y los post. Pues bien, ahora añadimos a esta lista de cosas muy importantes los plugins.

Imagínate que un usuario de tu web tiene rol de administrador y sin querer borra un plugin imprescindible de tu web.

Otro ejemplo que puede ser más cercano para ti: imagínate que terminas la web de un cliente y le das los datos de acceso y administración de su web. Seguramente le entregarás un usuario con el rol de administrador… Ahora imagínate que te llama un día y te dice que ha borrado sin querer un plugin de su web y que ha dejado de funcionar, o ya no se ve como debería verse.

La solución más rápida sería cargarle una copia de seguridad de la última fecha (o la más proxima) en la que su web funcionaba correctamente. ¿No sería estupendo que en lugar de dejarle acceso a todos los plugins, le restringieras el mismo a ciertos plugins vitales de la web?.

Código que vamos a utilizar para no permitir desactivar plugins

El código que vamos a utilizar es muy sencillo: crearemos una función que desactivará la opción desactivar plugins (valga la redundancia), y si esa opción de desactivar existe, directamente la desactiva (unset), valga de nuevo la redundancia :-P.

Lo que tienes que saber es lo siguiente: debes conocer la ruta de instalación del plugin en cuestión que quieras impedir desactivar, terminada con el nombre de su archivo .php. Es decir, si quieres impedir la desactivación del plugin Contact Form 7, la ruta de acceso a ese plugin es la siguiente:

contact-form-7/wp-contact-form-7.php

Si quieres impedir que se desactive el plugin Code Snippets, que es el plugin que habitualmente utilizamos para insertar estos trozos de código, su ruta es la siguiente:

code-snippets/code-snippets.php

Con estos ejemplos de plugins que no permitiremos desactivar, el código resultante sería este:

Este contenido ha sido restringido solo para usuarios conectados. Por favor, inicia sesión para ver este contenido.

Y este es el resultado antes de aplicar este código:

Cómo no permitir desactivar plugins
Cómo podemos no permitir desactivar plugins

Y el resultado después de aplicarlo:

Cómo podemos no permitir desactivar plugins de la lsita de plugins
Cómo podemos no permitir desactivar plugins de la lista de plugins

 

Deja que WordPress trabaje por ti, utiliza código.