Deshabilitar la opción de desactivar un plugin de WordPress

Si queremos hacer desaparecer el botón de desactivar un plugin para que nuestros clientes no lo presionen por error y pueda causar algunos problemas podemos hacerlo de la siguiente manera:

Este es el botón que desactivaremos, fijaros en las dos imágenes:

Este será el resultado:

Vamos allá… en mi caso voy a desactivar la opción para el conodido akismet y para uno que he creado para el ejemplo:

Podemos desactivar tantos como queramos, podemos ver el array de los desactivados unas linea más abajo y como veis, tenemos que indicar la ruta de la carpeta más el archivo principal, en este caso para el akismet será: ‘akismet/akismet.php’ y para el que hemos creado: ‘plugin-ejemplo/plugin-ejemplo.php’.

add_filter( 'plugin_action_links', 'deshabilitar_desactivar_plugin', 10, 4 );

function deshabilitar_desactivar_plugin( $actions, $plugin_file, $plugin_data, $context ) {
    // Quitamos el link de editar para todos los plugins
    if ( array_key_exists( 'edit', $actions ) )
        unset( $actions['edit'] );
    // Quitamos el link de desactivación para los plugins
    if ( array_key_exists( 'deactivate', $actions ) && 
            in_array( 
                $plugin_file, 
                    array(
                    'akismet/akismet.php',
                    'plugin-ejemplo/plugin-ejemplo.php'
                )
            )
        )
    unset( $actions['deactivate'] );
    return $actions;
}

Simplemente con reemplazar las lineas del array donde se encuentras los dos que nosotros hemos deshabilitado tendríamos el resultado querido…


Lo que no cuenta WP es como deshabilitarlo desde el checkbox… ya que si seleccionamos el o los plugin y desde el select seleccionamos la opción de desactivar, el plugin se desactivará, pero bueno, es una opción un poco más avanzada que no quedaría como un despiste por parte del usuario final 🙂


Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

Deja una respuesta

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

*