Cómo deshabilitar la desactivación de complementos desde el Panel de administración de WordPress

Cómo deshabilitar la desactivación de complementos desde el Panel de administración de WordPress / Tutoriales

Una de las mejores partes de WordPress es la disponibilidad de complementos que facilita su trabajo como usuario y como desarrollador. A menudo, al crear sitios para clientes, nosotros, como desarrolladores, usamos complementos que son absolutamente cruciales para que el sitio tenga ciertas funcionalidades. Recientemente, nos topamos con un problema en el que uno de los sitios de nuestros clientes estaba roto. La barra lateral no se estaba cargando completamente, faltaban elementos en la página de la publicación única que los asustó. La conclusión de esta historia fue que uno de sus nuevos miembros del personal que era nuevo en WordPress desactivó algunos de los complementos que se requerían para que el sitio funcione correctamente. Entramos y activamos todos los complementos que estaban desactivados, pero tenía que hacer algo para evitar este problema en el futuro. En este artículo, le mostraremos cómo deshabilitar la desactivación de complementos desde el Panel de administración de WordPress (solo para complementos específicos).

En teoría, deberías poder usar el complemento Miembros de Justin Tadlock y crear un nuevo rol para los usuarios. Sin embargo, el cliente que teníamos no quería seguir esta ruta. Es una pequeña empresa, y contrataron a este nuevo empleado para tratar con sus redes sociales y su blog, por lo que no podemos restringir el acceso. Querían darle la posibilidad de activar / desactivar complementos a su voluntad. Teníamos que encontrar una manera que mantuviera a nuestro cliente feliz, y también teníamos que encontrar una manera de evitar que este problema sucediera en el futuro. Afortunadamente para Steve Taylor, encontramos un fragmento que te permite eliminar el enlace "Desactivar" de los complementos especificados. También elimina el enlace Editar para todos los complementos porque no queríamos que nuestro cliente edite ningún complemento a través del editor.

Así que todo lo que tiene que hacer es pegar los siguientes códigos en el archivo functions.php de su tema:

 add_filter ('plugin_action_links', 'disable_plugin_deactivation', 10, 4); función disable_plugin_deactivation ($ actions, $ plugin_file, $ plugin_data, $ context) // Eliminar el enlace de edición de todos si (array_key_exists ('edit', $ actions)) unset ($ actions ['edit']); // Eliminar el enlace de desactivación para complementos cruciales si (array_key_exists ('deactivate', $ actions) && in_array ($ plugin_file, array ('facebook-open-graph-meta-in-wordpress / fbogmeta.php', 'wp-pagenavi / wp-pagenavi.php '))) unset ($ actions [' deactivate ')); devuelve $ acciones;  

Ahora, necesita cambiar la matriz de $ plugin_file donde se ve la lista de complementos especificados. La ruta del archivo es relativa a / wp-content / plugins /. Entonces, en el ejemplo anterior, 'facebook-open-graph-meta-in-wordpress / fbogmeta.php' es un archivo ubicado en la carpeta facebook-open-graph-meta-in-wordpress que se encuentra dentro de la carpeta de complementos. Puede cambiar la lista para agregar tantos complementos como desee.

Este truco es un atajo, y en realidad no impide la desactivación real. Todo lo que estamos haciendo es esconder el enlace Desactivar. Cualquier persona con un poco de conocimiento de WordPress puede generar una URL de desactivación y ejecutarla. Pero si su cliente es lo suficientemente astuto para hacer eso, entonces ya saben qué es FTP, y simplemente pueden eliminar los complementos de esa manera..

¿Está trabajando en un tema que requiere absolutamente un complemento específico para que funcione correctamente? Entonces no te olvides de dejar caer el código de arriba.