Free tools Windows power users keep installed
One-click scans. No signup required.
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_pluginsoption. - Every site in the network: the network’s
active_sitewide_pluginsvalue.
Decide the intended scope before changing anything. A network activation is not the same as activating a plugin for one site.
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.
#1 Best Overall
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.
Rank #2
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.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →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.
Rank #3
- Change to the WordPress directory, or supply its path with the global
--pathparameter. - Activate the plugin by its directory slug:
wp plugin activate plugin-slug - For a multisite network-wide activation, add
--network:wp plugin activate plugin-slug --network - 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.
Rank #4
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.
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.
Best Value
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
- 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.
- Confirm you are connected to the correct site’s database, especially on a multisite installation.
- Identify the actual table prefix; do not assume the table is named
wp_options. - Confirm whether you are dealing with the site-level
active_pluginsoption or network-levelactive_sitewide_pluginsscope. - 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.
Quick Recap
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.

