wp-content ยป plugins ยป How to hide a plugin from the WordPress plugins list ๐Ÿ™ˆ

How to hide a plugin from the WordPress plugins list ๐Ÿ™ˆ

wp-admin/plugins.php displays the plugins list table using the array $plugins_all which contains information on all installed plugins.

We can use pre_current_active_plugins hook to perform actions before the plugin information is displayed on this page.

TIP: The best way to understand what a hook does is to look at where it occurs in the source code.

for example to hide the Hello Dolly plugin from the plugins list:

<?php
function plugin_hide() {
  global $wp_list_table;
  // replace your plugin url here
  $hidearr = array('hello.php');  
  
  $myplugins = $wp_list_table->items;
  foreach ($myplugins as $key => $val) {
    if (in_array($key,$hidearr)) {
      unset($wp_list_table->items[$key]);
    }
  }
}
add_action('pre_current_active_plugins', 'plugin_hide');
?>

So even though the plugin is active and physically present in the wp-content/plugins/ folder, it will be hidden from the wp-admin/plugins.php page.

I’ve seen this simple method used in various WordPress malware to hide malicious code so make sure to manually check the plugins folder when removing malware from hacked WordPress websites.

See also  5 Easy Ways To Speed Up Your WordPress ⚡

Was this post helpful?

Leave a Comment

I enjoy constructive responses and professional comments to my posts, and invite anyone to comment or link to my site.

Recommended