Theme-Check Compliant, at Long Last

For a long time now, we’ve wanted Redux Framework to be Theme-Check compliant. The two factors preventing this were mainly WP FileSystem API failure (we included some hardcoded fallbacks in place), and vendor files (other projects we utilize). Today, we are proud to announce that the most recent development build of Redux will pass Theme-Check with flying colors!

 And on that note, may freedom ring! Happy Independence Day America! 😉

We took a hard look at all things within Redux that made Theme-Check bark like a schizophrenic dog. Honestly, we didn’t do anything horrible, we simply used direct functions rather than letting WordPress run the same functions. So, we decided to make the plunge. We shifted all file input/output to the WP Filesystem and made the changes to our Redux_Filesystem proxy class to handle our problem cases. We also removed a few URLs here, and some function names there.

We also embedded some really useful custom Theme-Check checks to further assist developers in submitting their themes to marketplaces. We want you – as developers – to know exactly what you need to do to comply. We also added a custom WP.org check, to further help WP.org theme developers.

Our next step is to add proper escaping to our field HTML output. Though Redux already escapes properly – since we use the WordPress settings API – we wanted to ensure you don’t have to tell your reviewers anything. We don’t want our code to be the cause of your work being flagged by marketplace reviewers. If we already escape something, we’ll add an inline comment so reviewers know what we are doing.

In the end, we seek to comply. We want to ensure Redux is for for the masses and ready for any marketplace (no matter how specific the rules may be).

We Need Your Help!

Please test the development build of Redux Framework in your own theme. Try out Theme-Check, and make sure we didn’t break anything. The sooner we have more eyes on these improvements, the sooner we’ll be able to make an official release, and the sooner we can push down some of our customizer fixes.   😉

As always, a special thank you our developers. We hope you like Redux and that it makes your life easier.

Updated WordPress.org Theme Requirements

To all devs who develop themes on WordPress.org. There is a new requirement that will go into effect within the next 6 months. You can read all the details here: https://make.wordpress.org/themes/2015/04/21/this-weeks-meeting-important-information-regarding-theme-options

 

Essentially, the WordPress.org themes submission teams is mandating that theme developers ONLY use the Customizer for options.

 

What does this mean for Redux users? Here are the terms:

 

In 6 months time, all options MUST be customizer based for themes submitted to WP.org. Redux may be used, but only under these conditions.

  • TGM to recommend Redux installed as a plugin OR follow the (instructions to embed Redux in a way that is approved by WP.org)[http://docs.reduxframework.com/core/wordpress-org-submissions/].
  • Redux panel must be disabled, and only the `customizer_only` argument used.
  • Only Customizer field types may be used. Any field that isn’t supported by the customizer must be coded by the developer or not used.

 

These are the following field types that can be used in the customizer, but most cannot have advanced options.

  • text
  • checkbox
  • radio
  • select
  • textarea
  • color
  • media

 

Unfortunately this is beyond our control. You are welcome to voice your opinion if you feel motivated to do so here: https://make.wordpress.org/themes/2015/04/21/this-weeks-meeting-important-information-regarding-theme-options

 

It seems that any framework, aside from http://kirki.org, should not be used in WordPress.org themes. Please voice your opinion if you have one to the WP.org team.

Happy Holidays

Holy cow, it’s already the end of the year! With no small amount of help from our incredible community, we’ve managed to make Redux the definitive options framework for 2014, and we’re still just getting started! In fact, we’ve got some big changes coming in 2015 that are going to blow your mind! So buckle up and stay tuned… 2015 is going to be the Year of Redux!

Happy Holidays from Team Redux, and have a fantastic new year!

Redux and SASS

Beginning with Redux Framework version 3.3.9.22, we’ve removed all LESS files from the Redux core and replaced them with SCSS (Sassy CSS) files.

If you’re wondering what this means, please use the provided links which will open information pages in new windows.  This article won’t cover the finer points and debates between SASS and LESS.  That’s fodder for a completely different article.  🙂

By default Redux now compiles all active field and extension CSS into a single file using the SASS (Syntactically Awesome Stylesheets) compiler.  When we say ‘active’ fields, we mean only fields actually in use.  This, in theory, should speed things up a bit not only be combining only the required CSS into a central file, but by eliminating the need for the enqueuing of multiple CSS files.

We’re asking all the Redux aficionados out there to download the latest Redux version for our Github and give the new code a spin.  Should glitches or bugs be found, please report them to us.  We’d like to get this new code base ironed out for official release by the new year.

There’s nothing you need to do special to test out the new code.  Download, install and go!  That said, we’ve included a new argument array within Redux to deal with specific settings for the SASS compiler.  Consider the following:

'sass' => array (
    'enabled'     => true,
    'page_output' => false
),

These are the defaults set in the Redux core, and argument you could (but don’t need to) add to the arguments array in your Redux configuration file (within the setArguments() function).

The enabled argument enabled or disables the SASS compiler.  We at Team Redux enjoy giving our devs the option to enable or disable features as desired.  Setting this argument to false will disable the SASS compiler.  All CSS will then be enqueued separately, just as we’ve done for so long before adding the SASS compiler option.

The page_output determines where the SASS compiler output is place.  By default, this option is set to false.  This mean all CSS output is placed into a singular file and placed in the WordPress upload folder.  Setting this argument to true will output the SASS compiled CSS directly into the page itself, in a style tag.

We here as Team Redux hope you enjoy the new benefits of the SASS compiler in our ever evolving options framework.  Please feel free to leave your comments below!

Sometimes Standards Don’t Always Work – Redux 3.3.4 Release

When we released Redux 3.3.0 on June 8th, 2014, we decided to follow a standard as per the suggestion of Otto.

He wrote, “If you need to write files to be included in the page, like stylesheets, then you should make your own folder under /wp-content, not under /wp-content/uploads. The uploads directory should be used strictly for media files and downloads and other things uploaded through the various wp_upload functions.” http://wordpress.stackexchange.com/questions/124900/using-wp-filesystem-in-plugins

Believing his advice to be sound, we followed his suggestion. It caused more misery to devs than not. The lingering issue is simple, too many users install WordPress incorrectly. Often the ONLY directory that is writable is /uploads/. Combined that with the file owner of WordPress and the theme/plugin directories often being different, and the 3.3.0 changes have been a disaster in the making.

As the Redux 3.3.0 code base spread out to our devs, and consequently their users, we received TONS of issues. We’ve worked to resolve each of them, but the fact remains that Otto’s advice is flawed, and users don’t know how to fix the problems is causes.

We implemented this great new filesystem code believing it was the correct way to handle local storage, but it will never be used again. We’re writing to our proprietary directory the uploads directory from here on out.

If anyone wishes to contribute code that works with Otto’s model, that actually works we would consider switching back. But for now, we choose function over opinion. 😛

Reduce Your Panel Load Time by 80%

Okay, so it’s only been a few days since our last release, and already we have another. We couldn’t wait, because, this is big! We’ve shaved off the panel load time by up to 80%.

Yeah, you read that correctly. 80 PERCENT!

This means – for example – a large option panel of a popular theme that used to take 6.8 seconds to load has been reduced to 1.47 seconds. We reduced load time for this theme’s option panel by 5.33 seconds  alone!

We realized speed was an issue and we went through every field in a concerted effort to determine which ones slowed the panel down the most, we found out that:

  • It wasn’t in the PHP, we optimized all of that with the last release.
  • The WordPress color picker in and of itself slows a panel down by up to 2 seconds!
  • The Editor, Ace Editor, and Slider fields slowed the panel down by .8 – 1.2 seconds each.

So how did we fix it? By initializing fields on “demand”.

The problem centered around too much JavaScript begin run on load. Now, with these latest improvements – the only time a field’s javascript loads is when it’s visible. Put another way, what you see on screen is all that’s affecting the DOM resources. Redux is literally now among – if not – one of the fastest frameworks out there.

Give it a try. You need only upgrade to see a noticeable difference. Everyone who has tried it, everyone, has noticed a difference.

If you like what you see, please do donate. These improvements required a substantial amount of effort, with no pay or compensation. A recurring (monthly) subscription of only $10 is all it takes for us to keep these improvements coming. Help support the thousands of developer hours that have gone into Redux. You help us, and we’ll keep making your project development that much easier.

Donate Today

Redux Framework 3.3.0 Released – “Need for Speed”

It’s with great pleasure that we introduce the release of Redux 3.3.0 A.K.A. “Need for Speed.”

We began with a rewrite of our typography field, specifically the way in which Google Fonts are loaded. There are dozens upon dozens of them! When devs add multiple Typography fields in their panel, the user experience (load time) becomes quite poor. We’re pleased to say this issue has been solved with this release. Thanks to the efforts of our main man Kevin, the typography field has be reworked to be much more efficient.

In addition, we’ve found a many bugs, fixed some core design issues, added feature requested, and taken Redux to yet another level of stability, all while improving the overall feature set.

To tie into all these improvements – and if you didn’t already know – the Redux Builder now gives you the option of creating custom builds of Redux with only the fields you specify! The building process has become much more modular, allowing us to providing these great new tools to you so you may lower the footprint of your embedded Redux. 😉

As it currently stands, Redux 3.3.0 is the MOST STABLE version of Redux ever. The issues reported to us have become very, very basic. More often than not, we see more feature requests than bugs.

Now is the time to upgrade Redux Framework your themes. Your users will thank you. We thank you.

It’s been a great year thus far, and we look forward to more.

Finally, in case you’ve not heard or seen it, you REALLY need to check out http://wpdemo.io, especially if you’re a developer and want to show-off what your product can do.

A Home Run – The Redux Builder

You know you’ve hit a home run when your business’s activity doubles within two months and support issues are reduce by nearly 1/3.  That’s what has happened with Redux since we launched the Redux Builder.

In early March, I conceived the idea to design a site that would auto-generate a Redux
build.  Actually, I wanted to build a fully-fledged panel builder like Option Tree, but with the sheer amount of options available with Redux, the time required would be intense…and then some.  Instead, I considered building a boilerplate generator for themes.  And what better theme than the ever powerful _s by Automattic?  I found their generator code and went to town, including a TGM integration, and a slew of Redux arguments.

Today, I am extremely pleased to announce we took the project it a step further.  We organized the arguments, gave descriptions, and links for each to our docs site.  We also made it so one could easily export to an admin folder instead of a theme.  This comes in handy for use in existing products and/or plugins.  Lastly, we’ve now made every Redux field completely independent.  As a result, you can generate a custom build of Redux Framework with your export!

 Yes, you read that correctly!  You can make a custom Redux Framework build!  Since one of the biggest complaints about Redux has been its size, weighing in at 6mb for all (34+) fields, the Framework tends to be quite heavy.  Now, that’s a thing of the past.

We’re really excited about the new version of the Redux Builder.  Major props to team member @kprovance for making Redux fields completely modular.

If you haven’t tried the builder, you SHOULD.  It’s free.  It will save you time.  Oh, and it’s so very choice.

http://build.reduxframework.com

 

Just a gentle reminder, Redux lives by donations and our extensions.  So if you like the generator, please consider donating a small amount to the project.  You support us, and we’ll keep making cool things.

February Webinar: In Review

Those of us at Team Redux would like to extend our sincerest thanks to our users for making this last webinar an unprecedented success! As we began the process of writing out the basic structure for the webinar, we had no idea what we were in for. We didn’t know how many people would show up or even if our users wanted to hear what we had to say. Thankfully, not only did a shocking number of people show up, but the webinar lasted an incredible two full hours!

 

Beyond the knowledge we hoped to impart to our users, we learned a very important lesson through the webinar as well. We learned that our users want to communicate with us, above and beyond the communication made possible by our Github issue tracker. As such, we have made a decision. Going forward, we will be holding a monthly webinar to give you a view into our world, and us a view into yours! Beyond that, we will be making steps towards a more active blog, and we’ve got a few other surprises in store for you as well!

 

Not everyone managed to make it to the webinar… but that’s alright, we still love you! Want to see what you’ve missed? Great! We’d love to show you! As such, we’ve made the entire webinar available on YouTube! Want a copy of the presentation itself? That’s available too!

 

NOTE: Originally, we had intended this post to include a complete list of the questions asked during the webinar Q&A session. However, given the sheer length of the list, I have decided to split it into its own page which will be kept updated with each new webinar. The list will be posted shortly.

 

Redux/Simple Options Merger

We’re proud to announce that Redux Framework has merged with the only other NHP fork we’ve found that’s worthwhile, Simple Options Framework!

Read More