Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Short answer: WordPress does not provide an official, selective “activate this plugin” database recipe. The documented phpMyAdmin procedure changes the active_plugins option to a:0:{}, which deactivates every site plugin. For one-plugin activation, use wp-admin when available or WP-CLI when you have shell access. Editing the option directly should be a last-resort state change because it skips WordPress’s validation and activation hooks.

Which database record controls activation?

On a normal, single-site installation, WordPress stores the active plugin list in the active_plugins option in the site’s options table. The table is often called wp_options, but the prefix can be different, such as abc_options. WordPress’s Options API stores values in the installation’s prefixed options table: Options – Common APIs Handbook.

Multisite has two possible scopes:

  • One site only: the site’s active_plugins option.
  • Every site in the network: the network’s active_sitewide_plugins value.

Decide the intended scope before changing anything. A network activation is not the same as activating a plugin for one site.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What the official database procedure actually does

WordPress’s emergency troubleshooting guide addresses the case where you cannot reach the administration menus and need to disable all plugins. In phpMyAdmin, it instructs you to find the active_plugins row in the correctly prefixed options table and replace its value with a:0:{}: FAQ Troubleshooting – Advanced Administration Handbook.

That serialized value represents an empty list. It is an all-plugin deactivation reset, not a way to activate a chosen plugin. The same guide offers a file-based alternative: rename the plugins directory through FTP or your host’s file manager, visit the Plugins page so WordPress marks the missing plugins inactive, then rename the directory back. Plugin settings remain, but each plugin must be reactivated afterward.

Why directly adding a plugin to the option is risky

Normal activation is more than writing a plugin filename into an option. activate_plugin() validates the file and its requirements, attempts a sandbox load, updates the appropriate activation option, and runs the plugin’s activation hooks unless activation is silent: activate_plugin() – Function.

Activation hooks may create database tables, add default options, or register rewrite rules. A hand-edited active list can therefore leave a plugin marked active without completing its setup. Invalid headers, permissions, cache problems, or other loading errors can produce a WP_Error; in that situation WordPress may leave the option unchanged and skip the activation hook. Do not construct a serialized active-plugin array by hand as your normal method. Values saved through the Options API are serialized as needed, and malformed serialization can make the entire list unreadable: update_option() – Function.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use the supported targeted method: WP-CLI

If you can open a shell in the WordPress installation, WP-CLI is the documented way to activate one plugin. Its command documentation describes wp plugin activate as activating one or more plugins: wp plugin activate – WP-CLI Command.

  1. Change to the WordPress directory, or supply its path with the global --path parameter.
  2. Activate the plugin by its directory slug:
    wp plugin activate plugin-slug
  3. For a multisite network-wide activation, add --network:
    wp plugin activate plugin-slug --network
  4. When working with multisite, use --url=https://example.com/site/ to select the target site where appropriate.

Replace plugin-slug with the plugin directory and main-file slug accepted by your installation; do not guess a filename if you can first list the plugins.

Verify that activation succeeded

Check one plugin’s status

Run:

wp plugin is-active plugin-slug

Add --network when checking a network activation. The command returns exit code 0 when active and 1 when it is not active: wp plugin is-active – WP-CLI Command.

List all active plugins

wp plugin list --status=active --format=json

This provides a structured list and status for active plugins: wp plugin list – WP-CLI Command.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Inspect the site-level option

wp option get active_plugins --format=json

The command shows the option in a structured format without requiring you to decode PHP serialization manually: wp option get – WP-CLI Command.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Choosing the right recovery route

Access available Best action Scope Validation and hooks
wp-admin Activate the plugin from Plugins Site or network, according to the screen and permission Yes
Shell/WP-CLI wp plugin activate plugin-slug Site; add --network for network activation Yes
Only phpMyAdmin/database Use the documented a:0:{} reset only when you need to disable all site plugins All ordinary plugins for that site No activation workflow; it deactivates
Only FTP or host file manager Temporarily rename the plugins directory, load Plugins, then rename it back All plugins are disabled temporarily Plugins must be reactivated afterward

Among these choices, WP-CLI is the strongest documented route for selectively activating a plugin when wp-admin is unavailable.

If a database change is unavoidable

  1. Create a current backup before making a permanent SQL or option change. WordPress’s migration guidance recommends backing up before direct database edits: Migrating WordPress – Advanced Administration Handbook.
  2. Confirm you are connected to the correct site’s database, especially on a multisite installation.
  3. Identify the actual table prefix; do not assume the table is named wp_options.
  4. Confirm whether you are dealing with the site-level active_plugins option or network-level active_sitewide_plugins scope.
  5. Avoid inventing serialized values to force selective activation. If you can regain shell access, use WP-CLI; if you can regain wp-admin, use the Plugins screen.

If the site remains broken after a reset, inspect the server and WordPress error logs and correct the plugin’s requirements, file permissions, or compatibility problem before attempting activation again.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.