Title: WP Local Toolbox
Author: joeguilmette
Published: <strong>April 23, 2015</strong>
Last modified: June 25, 2015

---

Search plugins

![](https://ps.w.org/wp-local-toolbox/assets/banner-772x250.png?rev=1163194)

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/wp-local-toolbox/assets/icon.svg?rev=1157709)

# WP Local Toolbox

 By [joeguilmette](https://profiles.wordpress.org/joeguilmette/)

[Download](https://downloads.wordpress.org/plugin/wp-local-toolbox.1.2.3.zip)

 * [Details](https://en-nz.wordpress.org/plugins/wp-local-toolbox/#description)
 * [Reviews](https://en-nz.wordpress.org/plugins/wp-local-toolbox/#reviews)
 *  [Installation](https://en-nz.wordpress.org/plugins/wp-local-toolbox/#installation)
 * [Development](https://en-nz.wordpress.org/plugins/wp-local-toolbox/#developers)

 [Support](https://wordpress.org/support/plugin/wp-local-toolbox/)

## Description

Through constants defined in wp-config, you can disable plugins, disable the loading
of external files, set search engine visibility, display or hide the admin bar, 
display the server name and change the color of the admin bar, or literally anything
else you can think of. All without touching the database, so you can push and pull
without worrying.

For support, pull requests, and discussion: https://github.com/joeguilmette/wp-local-
toolbox

#### Admin Bar

Change the color of your admin bar and display the name of the current server environment.
Green for local, orange for staging, and of course, red for production. You can 
also force the front end admin bar to hide, to display, and can even set it to display
when logged out.

 * **WPLT_SERVER**: The name of your server environment. It will be displayed in
   the admin bar at browser widths greater than 1030px. If left undefined, the plugin
   will make no changes to the admin bar.
 * If not defined as `PRODUCTION` or `LIVE`, the plugin will enable ‘Discourage 
   search engines from indexing this site’ to prevent your development and staging
   servers from being indexed. This option is not stored in the database, so your
   production server will still look to the actual setting on the Reading page.
 * **WPLT_COLOR**: Determines the color of the admin bar. You can set this to any
   CSS color. If left undefined, will use the following defaults:
    - PRODUCTION / LIVE: red
    - STAGING / TESTING: orange
    - LOCAL / DEV: green
 * **WPLT_ADMINBAR**: Show or hide the admin bar on the frontend. `FALSE` will force
   it to be hidden, `TRUE` will force it to display, `ALWAYS` will display the admin
   bar even when logged out. These settings will override the ‘Show toolbar’ setting
   in the ‘Users > Your Profile’ options panel and `add_filter('show_admin_bar','
   __return_false');` in functions.php, but doesn’t attempt to overcome any CSS 
   based hiding of the admin bar.

**In wp-config.php:**

    ```
    // set server environment to 'LOCAL'
    define('WPLT_SERVER', 'local');

    // set admin bar color to #800080
    define('WPLT_COLOR', 'purple');

    // show the admin bar even when logged out
    define('WPLT_ADMINBAR', 'always');
    ```

#### Disable Plugins

Pass a serialized array in this constant to disable plugins. This does not store
any data in the database, so plugins that are manually deactivated or activated 
through the admin panel will stay so.

In order for this feature to function properly, WP Local Toolbox must be installed
as an mu-plugin. You can read more about mu-plugins here: https://codex.wordpress.
org/Must_Use_Plugins. We’re investigating ways to avoid this requirement; if you
have any ideas we’d love to hear it!

 * **WPLT_DISABLED_PLUGINS**: A serialized array of plugins to disable.

**In wp-config.php**:

    ```
    // deactivate a set of plugins
    define('WPLT_DISABLED_PLUGINS', serialize(
        array(
            'hello-dolly.php',
            'w3-total-cache/w3-total-cache.php',
            'updraftplus/updraftplus.php',
            'wordpress-https/wordpress-https.php'
        )
    ));
    ```

#### Post Update Notifications

Receive notifications when any page, post, or attachment is added or updated. Notifications
can be received via email, or can be sent to a Slack channel via their Incoming 
WebHook API.

This is helpful in production to see if a client has submitted a new post, or in
development to see if data is being added to the staging environment so you don’t
accidentally overwrite new posts when pushing databases around.

 * **WPLT_NOTIFY**: Define this constant as the email address where you’d like to
   be notified of post updates. You can specify either an email address or a Slack
   Incoming WebHook URL. You can set up a Slack Incoming WebHook URL here: https://
   my.slack.com/services/new/incoming-webhook/
 * **WPLT_NOTIFY_CHANNEL**: If WPLT_NOTIFY is set to a Slack Incoming WebHook URL,
   you can specify the channel that the notification will be posted to. If left 
   unset, it will post to the default channel specified in Slack’s Incoming WebHooks
   settings page.
 * **WPLT_DISABLE_ATTACHMENT_NOTIFY**: If set, this will disable notifications for
   attachments.

**In wp-config.php**:

    ```
    // send an email to someone@somewhere.com 
    // whenever any post or page is updated
    define('WPLT_NOTIFY','someone@somewhere.com')

    // or, send a notification to a Slack channel
    define('WPLT_NOTIFY', 'https://hooks.slack.com/services/etc');
    define('WPLT_NOTIFY_CHANNEL','#channel');
    ```

#### Airplane Mode

Control loading of external files when developing locally. WP loads certain external
files (fonts, gravatar, etc) and makes external HTTP calls. This isn’t usually an
issue, unless you’re working in an evironment without a web connection. This plugin
removes / unhooks those actions to reduce load time and avoid errors due to missing
files.

On and Off: Can be toggled from the admin bar by clicking ‘Airplane Mode’. In the
admin bar a ✗ or ✓ will indicate if Airplane Mode is enabled or disabled.

 * **WPLT_AIRPLANE**: Set this to anything to enable the Airpane Mode toggle.

**In wp-config.php**:

    ```
    // enable the Airplane Mode toggle
    define('WPLT_AIRPLANE', 'true');
    ```

#### Modification

You can add code that will be executed depending on server name by modifying the
following in wp-local-toolbox.php.

I’d love a pull request if you come up with something useful.

    ```
    if (strtoupper(WPLT_SERVER) != 'LIVE' && strtoupper(WPLT_SERVER) != 'PRODUCTION') {
        // Everything except PRODUCTION/LIVE SERVER

        // Hide from robots
        add_filter( 'pre_option_blog_public', '__return_zero' );

    } else {
        // PRODUCTION/LIVE SERVER

    }
    ```

#### Notes

As a special thank you, this plugin will remove the ridiculous `Howdy,` that is 
prepended to the username in the admin bar.

You’re welcome.

#### Credit

 * Plugin disabling from [Mark Jaquith](https://twitter.com/markjaquith): https://
   gist.github.com/markjaquith/1044546
    - Using this fork from [Andrey Savchenko](https://twitter.com/rarst): https://
      gist.github.com/Rarst/4402927
 * Airplane Mode from [Andrew Norcross](https://twitter.com/norcross): https://github.
   com/norcross/airplane-mode
 * Always showing the admin bar from [Jeff Star](https://twitter.com/perishable):
   http://digwp.com/2011/04/admin-bar-tricks/
 * A healthy refactoring from [Jon Brown](https://twitter.com/jb510) of [9seeds](http://9seeds.com/)

## Installation

After installation, you must define constants in the wp-config.php file.

In order for the Disable Plugins feature to function properly, WP Local Toolbox 
must be installed as an mu-plugin. You can read more about mu-plugins here: https://
codex.wordpress.org/Must_Use_Plugins. We’re investigating ways to avoid this requirement;
if you have any ideas we’d love to hear it!

## Reviews

![](https://secure.gravatar.com/avatar/56018e9d5ac510d8e594a355a4a07dcf986f319c44a5038badd5595c33dff17c?
s=60&d=retro&r=g)

### 󠀁[Still works like a charm!](https://wordpress.org/support/topic/still-works-like-a-charm-6/)󠁿

 [coccoinomane](https://profiles.wordpress.org/coccoinomane/) November 7, 2017

The killer feature is the possibility to automatically de-activate plugins from 
wp-config.php!

![](https://secure.gravatar.com/avatar/541a9fa194d38e07a236b3234e4c7128c62daeb78baa1d5e16a70c1285f4079e?
s=60&d=retro&r=g)

### 󠀁[Great plugin , thank you](https://wordpress.org/support/topic/great-plugin-thank-you-41/)󠁿

 [haleeben](https://profiles.wordpress.org/haleeben/) March 11, 2017

Love that this plugin lets you choose the live site to server the media files, save
downloading GBs to the local machine Thanks

![](https://secure.gravatar.com/avatar/d90c469afe7bfa7b3ea79e088e6e4fc1aa5c2cc13e02090d0adeb7901cefdff3?
s=60&d=retro&r=g)

### 󠀁[Super simple and super useful](https://wordpress.org/support/topic/super-simple-and-super-useful/)󠁿

 [bob bob](https://profiles.wordpress.org/luckygurl/) November 22, 2016

This plugin allows you to set additional configuration options your wp-config file
that saves time and helps you avoid pitfalls when using a local -> staging -> live
development workflow. I use it on all of my sites now.

![](https://secure.gravatar.com/avatar/4b44a3e225b0c0369164bbfd2cb49d89ab7be66f02dc95ab1cde9e0ea8b9b920?
s=60&d=retro&r=g)

### 󠀁[Cracking plugin](https://wordpress.org/support/topic/cracking-plugin-1/)󠁿

 [CiviFirst](https://profiles.wordpress.org/civifirst/) September 3, 2016

Exactly what we needed – really clear which environment you’re on right away!

![](https://secure.gravatar.com/avatar/a7c5e9c1173fc57976c9703e4e78a9af611d5e102490d0033f2e3ac1e52535a3?
s=60&d=retro&r=g)

### 󠀁[Not optimal yet](https://wordpress.org/support/topic/not-optimal-yet/)󠁿

 [Terence Milbourn](https://profiles.wordpress.org/pubdirltd/) September 3, 2016
2 replies

Shame but its too much of a hassle as it is. All the variables ought to be able 
to be set by the plugin and should only require a single click to set a profile.

 [ Read all 7 reviews ](https://wordpress.org/support/plugin/wp-local-toolbox/reviews/)

## Contributors & Developers

“WP Local Toolbox” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ joeguilmette ](https://profiles.wordpress.org/joeguilmette/)
 *   [ Jon Brown ](https://profiles.wordpress.org/jb510/)

[Translate “WP Local Toolbox” into your language.](https://translate.wordpress.org/projects/wp-plugins/wp-local-toolbox)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wp-local-toolbox/),
check out the [SVN repository](https://plugins.svn.wordpress.org/wp-local-toolbox/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/wp-local-toolbox/)
by [RSS](https://plugins.trac.wordpress.org/log/wp-local-toolbox/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.2.2

 * Update Airplane Mode to latest ([f9e8bc1cc0](https://github.com/norcross/airplane-mode/commit/f9e8bc1cc0a65542af6cfc5e1904ec63fb3819ff))

#### 1.2.1

 * Added support for Slack API with WPLT_NOTIFY
 * Enhanced WPLT_NOTIFY to correctly report all post types
 * Added a WPLT_ADMINBAR to control front end admin bar – it can now be:
    - Forced to be hidden
    - Forced to display
    - Forced to display even when logged out
 * Continued tradition of 30:1 readme:code commits

#### 1.2

 * Added to WordPress Plugin Repository

## Meta

 *  Version **1.2.3**
 *  Last updated **11 years ago**
 *  Active installations **90+**
 *  Tested up to **4.2.39**
 *  Language
 * [English (US)](https://wordpress.org/plugins/wp-local-toolbox/)
 * Tags
 * [admin](https://en-nz.wordpress.org/plugins/tags/admin/)[administration](https://en-nz.wordpress.org/plugins/tags/administration/)
   [dashboard](https://en-nz.wordpress.org/plugins/tags/dashboard/)[notification](https://en-nz.wordpress.org/plugins/tags/notification/)
   [responsive](https://en-nz.wordpress.org/plugins/tags/responsive/)
 *  [Advanced View](https://en-nz.wordpress.org/plugins/wp-local-toolbox/advanced/)

## Ratings

 4.6 out of 5 stars.

 *  [  6 5-star reviews     ](https://wordpress.org/support/plugin/wp-local-toolbox/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/wp-local-toolbox/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/wp-local-toolbox/reviews/?filter=3)
 *  [  1 2-star review     ](https://wordpress.org/support/plugin/wp-local-toolbox/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/wp-local-toolbox/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/wp-local-toolbox/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wp-local-toolbox/reviews/)

## Contributors

 *   [ joeguilmette ](https://profiles.wordpress.org/joeguilmette/)
 *   [ Jon Brown ](https://profiles.wordpress.org/jb510/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wp-local-toolbox/)