Once in a while I come across a situation where I need to activate a plugin programatically rather than doing from the dashboard. Today’s issue was a session conflict on Pantheon, caused the WP Native PHP Sessions to crash and de-activate. Without that plugin active, I couldn’t get to the dashboard, so I wrote this code to re-activate the plugin and it did the trick.
You can paste this code into your functions.php or any PHP file that is required by your plugin/theme.
function run_activate_plugin( $plugin ) { $current = get_option( 'active_plugins' ); $plugin = plugin_basename( trim( $plugin ) ); if ( !in_array( $plugin, $current ) ) { $current[] = $plugin; sort( $current ); do_action( 'activate_plugin', trim( $plugin ) ); update_option( 'active_plugins', $current ); do_action( 'activate_' . trim( $plugin ) ); do_action( 'activated_plugin', trim( $plugin) ); } return null; } run_activate_plugin( 'your-plugin-directory/your-plugin-main-file.php' );