Getting rid of Redux Framework annoyances

Redux Framework is a nice option framework for WordPress theme and plugin developers, and probably it is one of the most used frameworks out there. However, it comes with a few annoyances that many peoples are complaining of. First one is their dashboard widget. There should be a hook to remove that from my theme. Second, it asks the user to opt-in for tracking usage info. Third, it shows unnecessary admin notices when you’re developing in localhost. These admin notices doesn’t display in production server. But it still annoys me while in development mode because it has no effect on dev_mode value set to true or false. It also adds an extra “Redux Framework” sub menu page under Tools menu which was meant for support options but is not needed when you’re a theme developer and providing support by yourself.

Screen Shot 2015-04-24 at 9.59.11 PM

So here is how you can get rid of these things. Remember, there are no hooks to turn them off easily and you need to modify core files. Fortunately the changes are simple. Let’s do it!

1. Turn off Dashboard Widget and Stop admin notices

Open ReduxCore/framework.php and you will find the following code block around line # 405 (depending on your version of Redux Framework)

[sourcecode language=”php”]
if ( $this->args[‘dev_mode’] == true || Redux_Helpers::isLocalHost() == true ) {
include_once ‘core/dashboard.php’;

if ( ! isset ( $GLOBALS[‘redux_notice_check’] ) ) {
include_once ‘core/newsflash.php’;

$params = array(
‘dir_name’ => ‘notice’,
‘server_file’ => ‘’ . ‘wp-content/uploads/redux/redux_notice.json’,
‘interval’ => 3,
‘cookie_id’ => ‘redux_blast’,

new reduxNewsflash( $this, $params );
$GLOBALS[‘redux_notice_check’] = 1;

Comment out the whole block and you’re done!

2. Turn off opt-in Tracking popup

This one is quite easy. Just add the disable_tracking in your option setting arguments (where you define your opt_name value) and you’re done

[sourcecode language=”php”]
$args = array(
// TYPICAL -> Change these values as you need/desire
‘opt_name’ => $opt_name,
‘disable_tracking’ => true,


3. Remove “Redux Framework” sub menu under Tools

To remove that menu, add the following code-block in your functions.php. Remember to set the priority higher than 10 🙂

[sourcecode language=”php”]
/** remove redux menu under the tools **/
add_action( ‘admin_menu’, ‘remove_redux_menu’,12 );
function remove_redux_menu() {

Hope you liked this article. Enjoy!


  1. Of course those things only every show to developers. So as a developer, you’re turning off features that should benefit you. But hey, you’re annoyed! 😛

  2. still I get a advertisement in the black top header (where my theme name shows) in admin panel

    Each time I reload the page, a different advertisement is shown.

    Do you know how to turn that off?

    I am kind of puzzled that something that comes to ship Premium Themes includes 3rd party advertisements.
    I’m sure thats not what big theme houses want?
    (Well, they probably code their own Theme Option pages…)

    1. Daniel, as far as I know none of this annoyances happens in the production server. It’s all about development mode. So you can stay assured that your clients will not see either of these in their main site.

      About the ad in the black header you were mentioning, could you please share a screenshot so that I can have a look at it? In my setup, I can’t see any ad in that location

    2. To stop Ad, Open ReduxCore/core/enqueue.php and you will find the following code block around line # 380 (depending on your version of Redux Framework)
      if ( isset( $this->parent->args[‘dev_mode’] ) && $this->parent->args[‘dev_mode’] == true ) {
      $nonce = wp_create_nonce( ‘redux-ads-nonce’ );
      $base = admin_url( ‘admin-ajax.php’ ) . ‘?action=redux_p&nonce=’ . $nonce . ‘&url=’;
      $url = $base . urlencode( ‘’ ) . ‘&proxy=’ . urlencode( $base ) . ”;
      $this->parent->localize_data[‘rAds’] = ‘(function(){if (mysa_mgv1_1) return; var ma = document.createElement(“script”); ma.type = “text/javascript”; ma.async = true; ma.src = “‘ . $url . ‘”; var s = document.getElementsByTagName(“script”)[0]; s.parentNode.insertBefore(ma, s) })();var mysa_mgv1_1=true;’;
      Comment out the whole block and you’re done!

  3. yeah.. assuming the clients are never turning a WP DEBUG to true, which, hopefully, many of those do!
    I would sway, it’s more common to have it ON than OFF, unless you are really only adding post content to your site (as a customer)

    anyway, my problem is solved.


Leave a comment

Your email address will not be published. Required fields are marked *