redux-review-blog-wordimpressYou need to checkout the Redux Framework for your next WordPress theme or plugin project. It’s, hands down, the best and most robust solution for WordPress options because it’s written to WordPress options standards, it has a ton of features and it’s easy to use/extend.

Here are the top ten reasons why I think you should give Redux a shot:

  1. WordPress Standards

    The framework can be embedded in your theme or plugin, but it can also be used as a plugin itself. It’s in the WordPress plugin repository which means the WordPress team have given it their blessing. This also means that if you use it this way, you won’t have to update your theme or plugin whenever Redux has an update. As long as the user updates their Redux plugin within WordPress, everything will always be kept up-to-date. Less work maintaining project code is usually a good thing.

    The framework is also written as an OOP plugin. This helps it play well with itself. You can use it with multiple plugins and themes on the same WordPress site.

  2. Easy to Use

    Adding fields and options tabs to your theme or plugin is easy. A few simple arrays and the options are added to the WordPress admin page. There are a ton of different field options built in and the framework includes validation options for most of the fields. It also comes with a great sample options file that you can use for reference. Documentation is currently a little light on the Redux website but they’re working on that. (still in beta as of this writting)

    Sample Redux Options Function
    Sample function for pulling options from the database. (from the shoestrap theme)
    It’s also very easy to pull these options from the database for use within your theme or plugin. All of the options are stored in their own row within the wp_options table of the WordPress database. To pull the options you can call the global options variable (you name the variable when setting up framework) or you can write your own function for pulling these options. Either method is fast and simple to implement.

  3. Extensible

    Need a field that’s not included with Redux? No problem! Although I’d be hard pressed to come up with a field that’s not included, that doesn’t mean that they have everything you might ever need. If you do have a field that you need to add, it’s very easy to create your own, including any required validation necessary.

  4. Variety of Options Fields

    ReduxFramework Field Variety
    A few of the fields included with the Redux Framework
    Need Google fonts? done! How about WordPress media uploader? yup! Want to integrate with WordPress posts, pages, user capabilities, categories, tags….sure, no problem.

    There are even fields for controlling theme background images, padding or margins, link attributes, galleries, value sliders, image option select, passwords, code (js and css/less/sass), colors and gradients, sortable checkboxes, sortable text boxes, toggles and more! Whew! There’s even a repeatable field that groups 1 or more separate fields together. Check out the demo to get a better idea.

  5. Active Development / Support

    One of the best things about WordPress is the community. Actively developed and supported themes and plugins make the WordPress eco-system thrive. The Redux Framework is no different. Currently under active development with great support has helped to make the Redux Framework a solid choice. The fact that the development team has a plan for monetizing the Framework through premium add-ons bodes well for the future too. I expect Redux is here to stay.

  6. Admin Features

    The options page itself contains tabs on the left side of the page that help to organize large numbers of options for the user. Each tab of options fits fairly well within the standard WordPress admin design and users should feel right at home with a Redux options panel.

    redux ajax sampleBut it’s ajax that really makes the panel shine. Whenever a user makes a change to an option on any of the tabs, a small alert appears to warn the user to save their changes or else they might be lost. Also, the select boxes use the select2 jQuery plugin which makes it super easy for users to find what they’re looking for in long lists of data. For example, if you want the user to choose some posts for the homepage of your theme, you can use the “posts multi-select field”. If the site has a ton of posts, they’ll all be loaded in the select field but rather than scrolling forever to find the one they’re looking for, they can simply start typing in the box and their posts will start to filter. Talk about good UX design!

  7. Import / Export

    Have a theme with 200+ different options? (or hell, even just 25) You need an easy way for your users to import and export their options. The Redux Framework doesn’t just give the user a box with a bunch of seemingly nonsensical json code when they want to export their settings. It actually allows them to download the file for safe-keeping. It’s also easy to provide a url from a theme or plugin demo site for your users to import demo settings. They just copy and paste a link you provide and they’re done. Easy!

  8. Open Source

    open-sourceFree! It doesn’t get much better than that! Redux, like WordPress, is a professional level product and it’s available to everyone for free! You can get involved directly with the project and recommend or provide code improvements or addons. The developers are extremely responsive and welcoming to contributions (especially bug fixes).

  9. Presets and Defaults

    Presets are a great way to setup a sort of “theme within a theme”. It’s easy to create a way for your users to click 1 button and instantly change 1 or all of your theme options. Presets can be a huge time saver for your users and I think it brings the UX of the options panel to another level.

    Right when the theme is activated, the defaults are automatically saved to the database with your defaults values for all of the options. Even if you navigate to the database and delete the option row associated with your theme or plugin, the framework will automatically add back the defaults without the need to load the options page in the admin. This is a feature that wasn’t available in many of the other options frameworks.

  10. Pre-Processor Support

    Many themes allow for the user to customize colors, background images and other css related details. The problem with some of these themes is that they stuff the custom css produced by their options page into the header of the WordPress site. This isn’t the most efficient way to do things. Redux includes pre-processor support, meaning that you can have the framework generate a single minified css file for the entire site whenever a style option is changed in the panel. As the developer, you determine which of these fields will fire the pre-processor by including 1 small line with your field array.

    css-less-sassThe really cool part is that Redux allows you to use whichever pre-processor you want. LESS, SASS, or plain ol’ css can be used and it’s easy to tie-in which ever option you want. This is great for LESS and SASS because you can programatically control so many parts of the design without overloading your user with too many options. For example, you can allow the user to control the primary and secondary colors in the panel. Then, using LESS or SASS, you can create 1 or more additional complimentary colors based upon the original 2 user choices. Use mixins, calculate shades of the users’ primary color and more. The possibilities are practically endless.


With Great Power Comes Great Responsibility

It’s obvious that I like the Redux Framework. But just because you can use Redux doesn’t mean that you should. It’s feature rich but the trade-off for so many options and versatility is bloat. In it’s current state, Redux is around 3.5 MB in size. While this isn’t huge, it would definitely be overkill if all you needed was a small handful of options for your theme. I usually don’t use it for client projects because clients hire me to adjust their options for them. Redux is much better suited for complex plugins and premium or public themes that will be used by many less experienced website owners.

Conclusion

Redux is a powerful, easy to use and fully supported options framework for WordPress projects. It will work well on themes and plugins, but I suspect it’s most at home on projects where you need more than just a few options.

What do you think? Have you tried Redux? Do you prefer something else for theme or plugin options? I’d love to hear your response in the comments below.

Matt is the lead theme developer at Home Junction Inc. and has been building with WordPress since 2004. He's also a former US Marine from Massachusetts, currently making his home in sunny San Diego.

Follow Matt:

19 Responses to “Top 10 Reasons to Use the Redux Framework on Your Next Plugin or Theme”

  1. ghost1227

    Matt, you just made my day… twice. First off, as the founder of Redux Framework, I’m THRILLED that you like it so much, and finding reviews like this makes the development process totally worthwhile. That said… you’re right. Redux is pretty big for a smaller plugin. Of course… if you use it as a plugin itself, you can run a dozen different control panels off of one Redux instance! Pretty cool, huh?

    Second… Semper Fi brother 🙂

    Reply
    • Matt Barrett

      Thanks for the feedback @ghost1227:disqus! Yeah I didn’t like the Redux plugin idea at first but now I definitely love it. I’m currently incorporating Redux in a theme that I’m building, but will be setting it up to play nicely with the plugin version if the user has that installed.

      Always good to find a fellow devil dog in the development world!

      Reply
      • ghost1227

        I wasn’t a huge fan of it when we started building the plugin version either… in fact, for a long time, I insisted on keeping the embedded version in ALL of my work. However… it’s grown on me… for a few reasons.

        Foremost is compatibility and compliance; for starters, we strive to maintain compliance with both WordPress standards, and those outlined by ThemeForest and CodeCanyon. Envato has expressed a preference (though not a requirement) on not embedding complex control panels. Even beyond that, embedding can lead to conflicts in a situation where a user has a theme running Redux 3.0.1 and a plugin running Redux 3.0.5. Despite being a very minor revision, there’s still the chance for functional differences causing one or the other to fail, assuming both devs are smart enough to use a {require,include}_once instead of just requiring it on the assumption that it won’t conflict.

        The second reason, which we’ve already touched on, is in sheer numbers. Facts are facts! By making Redux as flexible and feature-rich as we have, we’ve definitely increased its filesize! Now, some of that can be trimmed out… If you’re not EVER going to use a field type, you can technically remove its associated files (although it does risk causing issues with other themes/plugins that may need them!), and there are a few images included by default that can be stripped if you’re not using our inbuilt social icon system to brand the panel, but all told you’d still be looking at roughly 2M! While that’s not unheard of in the theme development world, it’s rather large for your average plugin.

        The Redux Plugin negates these worries by providing one standardized, compliant framework that multiple instances can build on as they see fit, and all you need is a tiny config file!

        Another tip for you… If you do a lot of development with Redux, you can always use the WPMUDev model. I’ve got one suite of plugins for a client that all hook the same control panel instance! The core plugin provides a minimalistic config outlining the control panel settings themselves, along with those options that were included in the initial release, while new functionality can be easily added or removed through the use of filters in the config file. In other words… you can programmatically add, remove or modify any setting or tab from anywhere!

        Reply
  2. Jim Walker

    You’ve certainly written a tantalizing tale. Thank you for the fine research.

    Reply
  3. labanino

    Hi guys! I’m just a web designer. Do you know of any tutorial on how to hook up all the change you do in Redux to the theme? Thanks.

    Reply
  4. justin

    “The really cool part is that Redux allows you to use whichever pre-processor you want.”

    I’m struggling with this part, and the link you posted is now dead. I’m trying to use some of my values in a sass file, but not having any luck. Can you or someone elaborate a bit more or point me in the right direction? Any help would be appreciated!

    Reply
  5. Scott Dixon

    I just discovered this framework while following a detailed tutorial by Brad Williams. I’m a complete novice and he made it easy to understand how to use it with WordPress. If anyone is looking to get started It’s well worth checking out it helped me a lot http://bootstrapwp.com/course-outline/ the Redux tutorials are the last section covered.

    Reply
  6. Dipesh

    Can I stroe user level setting using redux

    Reply
    • Matt Barrett

      It’s mainly for dealing with the WP settings API. You can add user profile settings but I don’t believe it’s possible to load settings based upon the user out of the box.

      Reply
  7. belumada69

    i use redux more than 1 year, and i enjoy it. I think its easy to use and powerfull

    Reply
  8. Naveen Kapoor

    I heard a lot about this framework. Let see what it can do for my business. meanwhile there are many others wordpress frameworks out there like genesis , themler , headway, templatetoaster. Wonder how redux will prove different than these all.

    Reply
  9. Awais

    I want to know is this possible to add demo import feature using Redux Framework?

    Reply
  10. aby

    hi,
    well am getting message on my dashboard to update redux framework and meanwhile you can use dev mode disabler. Please let me know what’s that and how can i update redux framework?.

    Reply

Leave a Reply