Look up Mark Jaquith for more info. [php]<?php /* Plugin Name: Disable plugins when doing local dev Description: If the WP_LOCAL_DEV constant is true, disables plugins that you specify Version: 0.1 License: GPL version 2 or any later version Author: Mark Jaquith Author URI: http://coveredwebservices.com/ */ class CWS_Disable_Plugins_When_Local_Dev { static $instance; private $disabled = array( ); /** * Sets up the options filter, and optionally handles an array of plugins to disable * @param array $disables Optional array of plugin filenames to disable */ public function __construct( Array $disables = NULL ) { // Handle what was passed in if( is_array( $disables ) ) { foreach( $disables as $disable ) $this->disable( $disable ); } // Add the filter to both single site and multisite plugin lists. add_filter( 'option_active_plugins', array( $this, 'do_disabling' ) ); add_filter( 'site_option_active_sitewide_plugins', array( $this, 'do_disabling' ) ); // Allow other plugins to access this instance self::$instance = $this; } /** * Adds a filename to the list of plugins to disable */ public function disable( $file ) { $this->disabled[] = $file; } /** * Hooks in to the option_active_plugins and site_option_active_sitewide_plugins * filter and does the disabling * @param array $plugins WP-provided list of plugin filenames * @return array The filtered array of plugin filenames */ public function do_disabling( $plugins ) { if( count( $this->disabled ) ) { foreach( (array)$this->disabled as $plugin ) { if( current_filter() == 'option_active_plugins' ) $key = array_search( $plugin, $plugins ); else $key = !empty( $plugins[$plugin] ) ? $plugin : false; if( false !== $key ) unset( $plugins[$key] ); } } return $plugins; } } /* Begin customization */ if( defined( 'WP_LOCAL_DEV' ) && WP_LOCAL_DEV ) { $_pluginsToAutoDisable = array( 'w3-total-cache/w3-total-cache.php', 'wordpress-seo/wp-seo.php', 'google-analytics-for-wordpress/googleanalytics.php', ); new CWS_Disable_Plugins_When_Local_Dev( $_pluginsToAutoDisable ); }[/php]Revisions
- December 18, 2012 @ 13:50:11 [Current Revision] by PeterLugg
- December 18, 2012 @ 13:55:14 [Autosave] by PeterLugg
- December 18, 2012 @ 13:49:06 by PeterLugg
Revision Differences
There are no differences between the December 18, 2012 @ 13:55:14 [Autosave] revision and the current revision. (Maybe only post meta information was changed.)
You are viewing an old revision of this post, from December 18, 2012 @ 13:55:14 [Autosave]. See below for differences between this version and the current revision.
Leave a Reply
You must be logged in to post a comment.
No comments yet.