Restricting users from deactivating specific plugins in WordPress

You can block the deactivation of certain plugins on your WordPress site, especially if you have customised plugins for your clients. Learn how to install a simple PHP method to prevent deactivation of key WordPress plugins.

You can prevent the deactivation of one or more plugins installed on your WordPress site, especially if you have customised mandatory plugins for your client sites. This article will show you how to add a simple PHP function to your WordPress site to prevent users from deactivating important plugins.

Restricting users from deactivating specific plugins in WordPress

🚧

Important

Always perform a backup before you make any changes to the theme files. If you break any codes, it will be easier to revert your site to its last good known state. Alternatively, you could also create a child theme. Read this link on how to create a child theme: https://www.hosting.com/blog/wordpress-child-theme/

Follow the steps below to edit your Theme setting file to restricting users from deactivating specific plugins:

  1. Log in to your WordPress site with an administrator account.

  2. On the Dashboard in the left sidebar, click Appearance, and then click Theme Editor:

  3. On the Theme Editor, select the Theme you want to edit from the dropdown:

  4. The files for this selected theme are listed on the right column under Theme Files. Click on the file named "functions.php":

  5. The code below deactivates bothwpforms and woocommerce installed in their respective folders:

  • 'wpforms/wpforms.php',

  • 'woocommerce/woocommerce.php'

  1. Insert the following code to the end of functions.php file and click Update File Button to save the changes:
add_filter( 'plugin_action_links', 'disable_plugin_deactivation', 10, 4 );

function disable_plugin_deactivation( $actions, $plugin_file, $plugin_data, $context ) {

    if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, array(

       'wpforms/wpforms.php',

        'woocommerce/woocommerce.php' 

    )))

        unset( $actions['deactivate'] );

    return $actions;

}

Related Articles