beta test

Redux v4 Beta: Official Launch!

Buckle up, devs! The launch of the long anticipated Redux v4 Beta is finally here! I’ll skip my usual long-winded posts and get right to the things you need to know now!


This is a ‘soft launch’.  It means we’re putting it out there and giving a general notice without a full-on  grand opening just yet.  That’s going to come when we launch our new site very soon!  In Las Vegas, they call it a ‘soft open’.  🙂


We’ve housed the code for Redux v4 in our public GitHub repository. You can find it here:  Now, before you go clicking that link and getting to the good stuff, which I know you want to do, please review the following first.  It’s important stuff you need to know before beginning.


Have fun, folks!


Welcome to the Redux 4.0 Beta

Here are several guidelines to consider when testing:


1. While we feel this version of Redux is fast approaching stable, we must caution you about using this code in production. At this time – should you chose to do so – it’s with no guarantees from us for any given feature or function.


2. Unlike the current v3 of Redux, the plugin slug for v4 is not yet ‘redux-framework’. It is HIGHLY recommended you do not install this version into the current v3 folder. The slug for this private build is ‘redux-framework-4’ and is what the plugin folder is titled. When testing, please disable the v3 plugin. Remember, the active plugin of Redux will supersede any embedded version. You are also free to use embedding.


3. As far as known issues go, there are potentially two we are aware of that will require my further investigating. The first is a possible ‘run in’ with an embedded v3 when running v4 as a plugin. The other is custom styling for the v4 option panel. Some folks have restyled Redux to their own liking. Because Redux v4 is now theme aware, current custom CSS may not render properly. If that should happen, it is possible to turn off the ‘theme aware’ feature and return to the v3 styling which will not interfere with any custom styling. To do this, all the following argument to your global arguments array: 'admin_theme' => 'classic'


4. For the time being, please report any issues to the redux-framework-4 issue tracker. Please do not use the current redux-framework issue tracker for v3. If filing as issue, please be aware the the usual instructions for sending reports. Specifically, the support hash/URL and the specific steps and circumstances in which the issue occured. Basically, we’ll need instructions to guide us through what you did to recreate the issue. If need be, we may ask you for a copy of your project in the event we’re unable to recreate the issue on our own.


5. Translations. Due to the undertaking of rewriting the Redux core, more than a few translation strings were changed, removed, or added. When Redux v4 goes ‘gold’ and is added to, we will be using their online translation services. It will allow the community to add their own translations for the many languages out there. Redux would then automatically download the one it needs on demand, versus packing them all in one project. For now, a current .POT file is included in the ReduxCore/languages folder in the event you’d like to do some local translation. If so, please feel free to submit them via pull request. We will add them to when Redux v4 is released. Eventually, language submissions will be made here: (No need to do so right now, as any work done will apply to v3 and NOT v4).


6. Lastly, we are not accepting pull requests at this time. The reason for this is because this code is extremely complicated, especially in terms of backward compatibility with v3. Please propose changes via the issue tracker so they may be evaluated for backward compatibility.


If you would like to interact with us directly, you can join our Slack workspace at  Join us in the #redux-beta channel. Our handles are @Kev and @dovy. Don’t be afraid to say hi!


Please check back nightly for new code pushes.


We still need your support!

It is difficult and time consuming to continue development and support for this free plugin without contributions from users like yourself. If you enjoy using Redux Framework, find it useful, and if it’s saved you hours upon hours of development time, please consider donating and helping us hit our fundraising goal.  Your donations will help encourage and support the plugin’s continued development and better user support.



See the Redux v4 Changelog.


What’s new?

Core Rewrite
Our code base has been rebuilt from the ground up. With compartmentalized code, autoloading, and class inheritance, Redux is now faster and more efficient than it’s ever been!


Top of the Line Security!
Redux meets security standards laid out by WordPress Coding Standards, WordPress VIP Standards, and ThemeForest Guidelines. Focus includes escaping, sanitizing, and nonces verification, and database query prep/caching.


Automatic Google Font Updates.
This is one of the crown jewels of Redux v4! Your users will have the ability to update Google Fonts as updates are available or automatic ‘behind the scenes’ updates. No more waiting for updates and no API key required!


Basic Metaboxes
Redux now contain a ‘lite’ version of Metaboxes to support basic fields such as Checkbox, Radio Button, Text, Textarea, Media, and Color.  It’s part of our expanse into the interface builder realm.

Post Format and Page Template features are also not available. These features plus support for all fields will be available in the Advanced Metaboxes portion of Redux Pro.

Due to the complex nature in which the Metaboxes feature integrates with Redux and existing option panels, it is important that a strict load order be maintained. The metabox config must be loaded in your option config via a specific action hook, otherwise the metaboxes config will not load properly. The see BEGIN METABOX CONFIG section of the sample-config.php file.

The current Metabox extension *is* supported and will override the lite version.


Field Sanitizing
Field sanitizing allows one to pass an array of function names as an argument to a field in which the return value will be the sanitizing string. This feature will only work with text based fields including text, textarea, and multi_text (ACE Editor and WP Editor not included).

One may use any existing function including PHP functions, WordPress functions and custom written functions. The return value of any used function must be that of a string. Any other return value will be disregarded.

Please view the sample-config.php file for specific examples.


Select2 AJAX Loading
The AJAX loading routines for the select2 fields have been fixed/finished. See the ‘capabilities’ field in the demo panel for an example.

For the interim, this feature will only work when used in conjunction with the data argument (that is, the one that fetches WordPress data).

To set AJAX loading, add the 'ajax' => true argument to your select field. The min_input_length argument may also be added to specify how many characters should be typed before results are shown. Default is 1.


Field/Section Disabling
This feature has been request quite a few times over the years. Fields and sections can now be disabled by adding the 'disabled' => true argument to either a section or a field. The section or field will then appear ‘grayed out’ and not respond to input. This comes in handy in the event one may want to offer teasers for premium versions of their products.

Since those with a little CSS know-how could easily reactive disabled fields with a little CSS, we took the added precaution of having Redux remove any name attributes on disabled fields/sections. This way, even if a clever user reactivates the field, it will never save.


Updated Panel Interface
The option panel interface has been brought up to date with the current WordPress admin design. It is also now ‘theme aware’. Panel colors will now follow suit with the selected admin theme.


Improved Field Validation
Due to the need for multiple field validations, Redux now supports an array of validations versus the previously limiting single argument. Validation results now appear in real time after a save without the need for page refresh.


Full v3 Backward Compatibility
We take backward compatibility very seriously here and strive to maintain it. Redux v4 has been designed to act as a drop in replacement to offer new functionality without breaking existing functionality.


A Note About Current Redux Extensions

Redux v4 has been tested with our current extension library. Nothing serious has come up thus far. However, if you are using extensions and find an issue, please report it on the redux-framework-4 issue tracker. If warranted. updates to extensions will be released for compatibility purposes only. In order to receive updates to extensions, your subscription MUST be current and active. There are no exceptions.


Future development of our extension library for new features and updates for Redux v4 will come in the form of Redux Pro. Announcements about this product will be made as they become available.


Frequently Asked Questions

What happens to Redux v3 when v4 is finished?
Upon completion, Redux v4 will completely replace v3 in our primary repository and at At that time, we will no longer be offering v3 in any form nor will we be maintaining any code v3. Any copies or forks out there will be considered deprecated and should be considered ‘as is’.


Is Redux v4 free?
Yes. This is the ‘core’ and it remains free to use, fork, embed, etc. However, what you see is what you get. All new features, extensions, add-ons, etc will come in the form of Redux Pro, which will require a maintained subscription for licensed usage. We do not yet have details to offer about availability or pricing at this time. Please join our mailing list for updates on this and other Redux related news as it becomes available:

Redux 4.0 – We Need Your Help!

Greetings from the cone of silence, Reduxians (Reduxers?  Not sure on the nomenclature here 😉 )!


Yeah, I know, it’s been a while.  A little over a year, in fact.  There was the whole announcement about a beta for Redux 4 last October and then…poof!  Well, not really, it just looked that way.  Lots of work continued, albeit more slowly than we would have liked.  The time we used to have to devote to the current upkeep of v3 and work on v4 became…limited.  Life happens.  Jobs, family, the occasional day off.  Those types of things.  Then there is the funding issue and that’s why we are here today.  We need your help.


To put it bluntly, the entire project is barely self sustaining.  We tried many ways to keep going through the years.  We’ve asked for donations, we’ve offered premium products.  It’s been enough to keep the basic bills paid.  Things like this website, the cost of domain registration, and related administration costs.  Otherwise, the time committed to this has been mostly volunteer.  It’s one of the reasons Redux v4 has been in limbo as long as it has been.  It’s frustrating for us and for those waiting as well.  We understand that frustration and we’re sorry it’s taken so long to get to this point.  A GoFundMe campaign has been set up to raise the funds needed to drive this thing home.  We’d like your help to hit our goal.


Here is the link if you’d prefer to skip my pitch and chip in directly!  😉


Still with me?  Awesome!  Allow me explain in more detail what’s going on, what to expect, and more importantly what Redux v4 has to offer.


As I am sure most of you know, Redux Framework for WordPress – since its beginning in late 2013 – has become the most popular and most used WordPress option framework for developers of WordPress themes and plugins. With over 700,000 active installations and usage on over 4 million sites, we’re number one for a reason. Our software has saved thousands upon thousands of developers like yourself dozens of development hours by creating a beautiful option panel for you. Currently, Redux is also free, with free basic support. This type of work takes an a huge amount of time and effort.  In order to keep Redux v4 free, a GoFundMe campaign has been setup. The funds raised will go toward the completion of the beta and ultimately the final product.  Backers who contribute $20.00 or more to this campaign are guaranteed full and free access regardless the results.  All backers will be recognized on our website with a link to their website or product (you are free to opt out and remain anonymous if you so choose).   If we reach our goal, we’ll take the beta public.  Your help will not only help us achieve our goal, but will also help keep the project alive for everyone.  This is why we feel it’s important for everyone to chip in and give a little back.  We’re a community.  We need to look out for one another


Now, let’s talk about what to expect in Redux v4.  This is the beginning of a new phase for the company,  We are moving away from a traditional options panel into a full fledged interface builder.  The ability to easily create powerful option panels for your projects will always be at the core of Redux.  But we are planning to go much further as Redux v4 develops.  There are plans for a full interface builder which, in essence, would allow one to build an entire option panel without writing a single line of code.  A little teaser there.  There are plans to move Redux fields into the REST API.  There may even be plans to adapt Redux fields to the most popular page builders available.  And Gutenberg?  Yes, we’ll be adapting to that as well.  For now, this is what you can expect straight away with Redux v4:


  • Major core rewrite.
    If you’ve ever taken an actual look at the Redux v3 code base, you’d see it’s a bit of a mess.  Most everything is crammed into one file.  Much of it is spaghetti code.  It’s what happened in the beginning when several frameworks came together to make one ( I wrote about this in depth here, if you’re interested).  As the years went by, we because to separate bits out of the whole into classes.  Doing this for production code in it’s current state became too messy and introduced some problems along the way.  A full rewrite was needed, and that’s what happened.  Now the core is split into smaller, readable bits.  We now autoload our classes and use inheritance.  It’s sped up things quit e a bit.  Along the way I delved into the concepts of security, especially as it applies to WordPress, themes, and plugins.  Which leads me to…


  • Top of the line security.
    Redux v4 will meet or exceed code standard laid out by WordPress Coding Standards. an additional set of standards used by WordPress VIP (we remain unaffiliated), and ThemeForest (using their proprietary theme check plugin, which I gotta say is very strict).  These resources focus highly on security.  These including proper escaping and sanitizing techniques, nonces for AJAX and form submissions, and other OWASP concerns.  I used the same CodeSniffer rulesets to audit the entire framework.  These are also the same standards Automattic applies to their product line, including WooCommerce and Jetpack.  The work to keep Redux v4 as secure as possible will always be a top concern and priority.  Speaking as a developer, these standards are something I would highly recommend you run your products through.  One can never be too careful or too secure.  I learned quite a bit during these code sweeps and you too!  Our extensions library will also soon be undergoing the same audits.


  • Manual & automatic Google Font updates
    This is one of the crown jewels of Redux v4.  The updating of Google font resources was always a major issue for v3 users, and rightly so.  Redux users basically had to wait for us to update them.  We attempted to incorporate a self updating feature, but it required a Google API key.  Any successful project could blow the limit on such a key very quickly.  Plus, I believe ThemeForest stopped allow developers to include such a key in their projects.  Web server permission issues also cropped up frequently.  The auto update feature failed for many of our users and their clients.  This new method Dovy introduced in v4 solved all of that.  We handle the updating of the Google fonts on our end, via Travis CI. (You can see it here if this interests you). Since we run the check only once a day, our API key never reaches it’s limit.  Pretty ingenious, eh?  Redux then pings our server every week to check for an updated JSON file.  If it finds one, you are notified and given the option to update.  Two options actually.  Your users will have the ability to update as updates are available or use automatic updates behind the scenes (see the screen shot above).  Now there will be no need to wait on us to update the Google fonts array in our core package.


  • Basic Metaboxes with standard fields
    Redux v4 will now contain is lite version of Metaboxes to support basic fields.  It’s part of our expanse into the interface builder realm.  Advanced fields will still require an active subscription to the what will be renamed as the Advanced Metaboxes extension.


  • Updated panel interface
    The Redux v3 option panel interface was based on the WordPress admin interface as WordPress appeared many years ago before the advent of admin themes.  It’s time we caught up as well.  Redux v4 now matches the current admin style, and is ‘theme aware’ (see the screen shot above).  If you should change the color of your admin theme, Redux will follow suit!


  • Full backward compatibility with v3
    This standard has been so important to Dovy and I since we began working together.  Personally – as a developer in the industry for some twenty-something years now – nothing frustrates me more that backward compatibility issues with software.  We don’t want to do that to you, and we’ve gone to greats lengths to keep it that way.  Redux v4 will be no different.  Updated code and classes are ‘shimmed’ so that older public function calls and hooks/filters remain in place.  This is why we are conducting our beta tests.  We would like to eliminate as many of those scenarios as possible before going ‘gold’ (that’s an old industry term for production release  😉 ) .


  • Improved field validation
    Field validation is important in our quest for better security.  It allows one to filter out input at the panel level, specifically in real-world instances that cannot be compensated for inside our core.  Redux v3 only allowed for one validation argument per field.  We’ve had many requests for the ability to add more than one validation to any given field or to create new validations to combine existing validations.  It became so we could not accommodate everyone by constantly adding new validation classes to the core.  Now with Redux v4, the validation argument supports arrays.  Specify as many validations as you like!  Also, validation error and warning notices appear in real time after an AJAX save of the panel.  With v3, notices and warnings – in some cases – would not appear until after a page refresh.  We are also planning to add a ‘sanitize’ argument with callback capability to fields as well.  Just one of the many requested improvements over the years!


  • Significant code improvements
    This may get a bit technical, so if you are a designer by trade and don’t understand the complex nature of JavaScript level code, then don’t worry.  You can skip this item.  Just know it’s a major improvement that’s good.  The opt_name argument of Redux is what makes each panel unique to each project, so if multiple authors were using Redux in different projects, they would not ‘run into each other.’  While this worked out well for the most part, we discovered instances were run ins still occurred.  Specifically, with our ‘required’ feature as it pertains to Metaboxes, the Repeater field and the Customizer fields.  We’ve adapted out core JavaScript to be opt_name based, which will fix those lingering issues.  Those extensions will also require updates which are also nearly completed and forthcoming.  We’ve also fixed many small bugs and issues along the way!


  • Vendor updates
    Users of our Metaboxes extension reported a conflict with WooCommerce where select field rendering was an issue in either WooCommerce or Redux.  This occurred because of the Select2 vendor library.  Woocommerce updated theirs to a new major version.  Incompatibilities with the older version we used cropped up. (Remember that backward compatibility frustration?  Well…).  Unfortunately, it was not as simple as updating our Select2 library as well since there were significant changes from Select2 v3 to v4.  It meant significant rewrites to fields that used Select2.  Redux v4 will no longer contain these conflict issues.  We’ve also updated the ACE Editor library and a few other internal ones as well.


  • Redux Pro
    Still slated as something we are working on is the premium Redux Pro effort as part of our expanse into the full interface builder world..  Redux v4 is designed specifically to interface with that project.  Redux Pro will not be compatible with v3.  As much as I would love to further spoil this product, it’s still a ways off and I cannot make any promises of release dates or betas at this time.  Announcements will be made via our email list and social media as that time draws closer.


As you can see, we’ve accomplish quite a bit over the last year, plus we have many fabulous new things in the works.  We are asking for the much needed financial support to push Redux v4 to the finish line. We would like to achieve this goal by the beginning of the new year. If you feel Redux and our effort behind it has saved you days or even weeks of development time, we are asking you donate to this project. Something from everyone who uses Redux will go a long way toward moving Redux into the future. We’ve come to a point where we truly do need the support of our users to keep Redux v4 free.  Please, consider our request and help us as we’ve helped you.


When the beta is ready for testing and review, an announcement will be made via our blog, mailing list, and social media.  We’ll also have a Github repository set up for it to take feedback and issues that arise.


Oh, one last thing; look for a redesign of our website in the coming months.  We think you’ll dig the updated design as much as we do.


Thank you, and Happy Holidays to everyone.  🙂



Redux 4.0 – A Beta Test

So…it’s been, what?  A few years since we’ve posted something on our blog?  Yeah, we’re sorry about that.  Reports of our demise have been greatly exaggerated.  We’re still very much here, alive, and working on some things that we’ve been keeping under wraps for a better part of the year.


Understand, in the beginning, after Simple Options,  Options Framework,  NHP,  SMOF and Redux 2.0 all came together to make Redux 3.0, it rocked the developer community.  All these fine frameworks and their authors coming together for one super project that eventually became the #1 options framework for WordPress theme and plugin developers.  As time marched on, many of our core developers moved onto other projects, or away from WordPress completely.  Many other option frameworks still available have either been abandoned or – not to put too fine a point on it – don’t do nearly half of what Redux in is current incarnation does.  Today, The Redux Framework project is just Dovy, and myself (Kev).  We’ve not given up or walked away from this amazing project.  The issue is, WordPress tools designed specifically for developers, versus WordPress users/consumers are not exactly the income providers that tools such as WooCommerce, bbPress, JetPack are.  Dovy and I were unable to work on Redux full time for the last few years, which meant divided time between the Redux project we love so much – the one in which we still give our blood, sweat, and tears – and those pesky real jobs.  Oh, and sometimes our families enjoy seeing us as well, from time to time.  🙂


This is the big reason why we’ve not made our presence abundantly front and center for a few years now.  We’re still fixing issues that come up in the Redux core.  We’re still answering the issue tracker in what we believe is still a timely fashion.  We’re still doing everything we need to do to keep Redux alive and healthy.  Dovy and I had a conversation last year about what the future of Redux should be, and where we should go with it.  Much of the code base that is the Redux 3.x core is still a mish-mash of all those previously aforementioned combined frameworks.  Over the years, I’ve rewritten sections of it here and there, either through bug reports, or by discovering outdated code to keep up with WordPress updates, or in some cases code that simply was not optimized.  Plus, when security issues come up from our community, we address those immediately.  It’s the commitment we still make to be the the most trusted and secure options framework available.  The discussion we had revolved around breaking up that main framework.php – which was close to 4000 lines – into separate components and rewriting our main JavaScript file to support the opt_name argument, which would improve upon many features and provide for new ones we could not implement without those improvements.  The problem was…time.  Specifically, lack thereof.  Neither one of us had it to give.


That changed for me earlier this year (2017, for when this post becomes dated).  I found myself without various commitments that occupied most of my time.  All of a sudden, I had more time than I knew what to do with.  So I sat down and began to implement all the ideas Dovy and I discussed.  That huge framework.php now contains a mere 314 lines, with everything else broken up and put into classes, which an autoloader now handles.  Additionally, the classes (core and fields) now use Object Inheritance which seems to have sped thing up a bit.  Somewhere in there I rewrote the main JavaScript file as well to support the opt_name argument.  This will provide a number of benefits.  The biggest will be the forthcoming Advanced Customizer feature of Redux Pro.


Oops, Redux…what?  Pro…what?  Did I just spoil something?  Hmmm…maybe I did.  Keep reading…


Anyways, a few other benefits of the opt_name implementation of our core JavaScript will also be seen by Metabox users, specifically where there are multiple metaboxes on the same page with different Redux instances (which means, two different projects using Redux appearing on the same page).  The Redux ‘required’ feature would only work for one, and not the other.  There are also some benefits for validation.  For example, when using validation on certain fields where information needed to be changed or corrected, those changes would not be seen until after the page was refreshed and not directly after an AJAX based save.  Little things such as this, that folks have been wanting for years will now be possible.


Oh, and just you wait and see what Dovy did for the typography field.  Automatic Google Font updates WITHOUT the need for a Google API key.  Yeah, you heard that right.  Redux now handles it all for you, minus all the annoying permissions issues that used to plague the weekly update feature, to the point where we had to shut it down.  It’s crazy amazing how it works.  It’s something you just gotta see for yourself.  Dovy did a kick ass job on it.  Personally, I think it should be the sole reason to upgrade.


So, after all this work, it was clear that bumping Redux 3 a minor version number would not cut it.  This project was now Redux 4.0, and work for it has gone on all summer long.  See?  We’ve been busy!  Looks (or lack thereof) can be deceiving!  I also made the command decision to update the look of the option panel interface to better match WordPress itself, so the option panel inherits the selected WordPress theme color (using a system close to the one WordPress uses).  Plus, we’ve been laying the groundwork for Redux Pro compatibility, which version 3 will not have.


Oh, rats…did I tease that Pro thing again?  Ah, well.  Once again, keep reading.  I want to get the importanct stuff out first, which brings me to backward compatibility.  That is, when version 4 rolls out, it can (and will) replace 3 with no breakage.


Dovy and I come from a school of developers who believe backward compatibility should always be maintained, or that every possible and conceivable effort should be given to the subject (pay attention WooCommerce).  So far, I think we’ve been pretty good about, being as obsessive about it as we are.  Great lengths have gone into Redux 4.0 to maintain this compatibility, even with all the code changes made.  More than a few shims were used to keep our promise to do everything possible to maintain backward compatibility.  This bring me to point of this entire post.  We don’t want to simply roll out Redux 4.0 without giving it a good shakedown.  We need some other – and preferably hardcore – Redux users to load up version 4.0 and verify exactly how seamless the upgrade is.  If there are things we missed, we want to catch them now (you know, instead of potentially breaking over a million sites).  We would prefer to begin with a private beta, a small group of Redux users who are familiar with the project.  We have a private Github repo set up for this.  After a short interval, the Redux 4.0 core will be added via a development/beta branch to the public Github repo for anyone to download and test.  It won’t replace the 3.x version until we are reasonably sure everything is where it should be.  And then, when we’re ready, we’ll push Redux 4.0 for public consumption.  The skies will light up!  Angels will sing!  World peace will fall into place!  Okay, well, maybe not all those things, especially that last one.  It’ll be a good thing, is my point in chief!  it allows us to move forward with the Redux Framework Project in ways we’ve only dreamed of doing for years now, which always mean more benefits for our users, and in turn, their users.  Win/win/win.


If you are interested in participating in our limited, private beta, fill out the form below.  You will need a Github account to receive an invitation to our private repo.  We’d also appreciate it if you’d let us know the project in which Redux is used.  If accepted, additional details will be provided in the email we’ll be sending out.  Alternatively, If you’d rather wait for the public beta, we can respect that too.  We’ll be making another blog post when that happens, detailing all the new features, and things we’d like checked, areas of focus, etc.



Oh wait…I did say I’d say something about Redux Pro.  Well, maybe I’ll just tease you a little it, like a high school junior prom date at the midnight hour.  It’s a premium project that will further enhance the Redux Core, similar to what our extensions library does.  After several at-length discussions we’ve had about the project, we’ve decided the Advanced Customizer will be part of it, as well as a reworking version of Custom Fonts.  Pro will also include Ad Remover.  it also won’t be targeted specifically to developers, but also users as well as the project progresses.  There will be some new fields, some major enhancements to existing fields.  We’ve basically decided all new features and efforts for Redux Framework will be dedicated to the Pro version.  We did promise a long time ago the Redux core would be free, and remain that way and we don’t want to break that promise while me continue to make efforts to further fund the Redux Framework Project into the future.


That’s all I’m giving away right now.  🙂


In the meantime, here are a few teaser screen caps.  Enjoy!