WordPress Toolkit

Originally posted on Envato Notes by Japheth Thomson

One of the best features of WordPress is the way it lets users check for, download, and install updates for plugins and themes from within the WordPress admin interface. Last year you may recall Jason announced the WordPress Theme Only Attachment and after more work we’re ready to roll out a way for authors to implement automatic updates for their themes in a standard way.

We now have a plugin for WordPress that will show you when a theme you’ve purchased from ThemeForest has an update available. You can then choose to automatically download and install the update. Even better than that though, the plugin will show you all the WordPress themes you’ve purchased on ThemeForest, and allow you to install them too!

We also have a PHP library for authors to include in their WordPress themes that will provide an easy way to implement this functionality within the themes themselves.

The plugin can be found here and the PHP library here.

Before a ThemeForest theme is able to be installed or updated through this plugin or PHP library, we need a little something from our authors. In addition to the main ZIP file that an author provides, we need them to also provide another ZIP file containing only the WordPress theme, which the plugin will then use. As Jason mentioned in the forum post authors need to also be sure that the comment header inside the style.css file provides the exact details about the theme. This must include the ‘Theme Name’, ‘Author’, and ‘Version’. Of course, the ‘Theme Name’ and ‘Author’ should remain the same for each updated upload of a theme, and the ‘Version’ must be incremented on each updated upload to ThemeForest.

Until now, including this file has been optional for authors (though roughly 25% of themes already have it!). To ensure automatic updates work consistently across all WordPress themes we’re now making this a mandatory inclusion. Authors, starting from Wednesday 4th April, please ensure you update your WordPress themes on ThemeForest and upload a WordPress Theme ZIP file for each of your themes.

This plugin and PHP library are a work in progress, so we’re hoping you’ll jump in with both feet, and if there are any teething problems bare with us as we fix them up. We have more features in the pipeline too, so keep in mind that we’ll be releasing incremental updates to them.

We really hope using this plugin/PHP library makes everyone’s life a lot easier. If you have feedback on this, please let us know in the comments below, or leave a post on the forum thread linked above.

It’s nice to see that Envato is providing tools to authors to make theme development easier and quicker but these tools/plugins need constant updates in order to work with latest versions of WordPress so sometimes author get into a locked down position which is not good. For example OptionTree hasn’t been upgraded to work with WordPress 3.3.1 and if you see the “Compatibility” section for OptionTree plugin then 50% of the people are having trouble installing it with WordPress 3.3.1.

What happens if we want to test it out on a theme that has not been added to themeforest yet? We want to be sure that it will work with a new framework.

Do we need to write the version number in a certain way ? (1.0 or 1.0.0 …)

Because I usually add the date after it and it looks like this: 1.0.0.xxxxxx

It’s great to see this plugin finally coming to life!

I’m not sure how authors will be able to test this with their items. Would it be possible to work with the authors own items when they use their own API key? At least this way we can add and test it out with items we already have for sale on the marketplace.

Nice work!
What if the user made some custom change on his theme… Will this plugin overwrite its change?
Is there a child theme compatibility with it?

Awesome news :slight_smile: This’ll be very handy, indeed.

LucidStudios said

It’s nice to see that Envato is providing tools to authors to make theme development easier and quicker but these tools/plugins need constant updates in order to work with latest versions of WordPress so sometimes author get into a locked down position which is not good. For example OptionTree hasn’t been upgraded to work with WordPress 3.3.1 and if you see the “Compatibility” section for OptionTree plugin then 50% of the people are having trouble installing it with WordPress 3.3.1.

Thank you! Glad you mentioned OptionTree too, we’re certainly well aware of the need to continued updates on OptionTree and the Envato WordPress Toolkit. You’ll be seeing more from us on this in the future :slight_smile:

duotive said

What happens if we want to test it out on a theme that has not been added to themeforest yet? We want to be sure that it will work with a new framework.

Good point! For the moment, the best solution for existing themes is to manually decrement the version number to see updates happen. For new themes, we’ll look into this and get back to you shortly.

cosmincotor said

Do we need to write the version number in a certain way ? (1.0 or 1.0.0 …)

Because I usually add the date after it and it looks like this: 1.0.0.xxxxxx

Essentially you’ll need to comply with the PHP-standardized version number strings. You can get more info on those under version_compare() in the PHP manual

twi said

Nice work!
What if the user made some custom change on his theme… Will this plugin overwrite its change?
Is there a child theme compatibility with it?

Thank you! And yes, theme updates overwrite changes, just as theme updates from the WordPress.org theme directory do. If you implement the library into your theme, you may like to include a warning to that effect.

+1 for option tree updates.

LucidStudios said

It’s nice to see that Envato is providing tools to authors to make theme development easier and quicker but these tools/plugins need constant updates in order to work with latest versions of WordPress so sometimes author get into a locked down position which is not good. For example OptionTree hasn’t been upgraded to work with WordPress 3.3.1 and if you see the “Compatibility” section for OptionTree plugin then 50% of the people are having trouble installing it with WordPress 3.3.1.

I never saw the Compatibility section as accurate, for any plugin.

I’m developing a theme right now on OptionTree and WP 3.3.1 with no issues at all. I suggest trying it for yourself. Furthermore, I saw no mentions of any compatibility issues in the corresponding forum here http://wordpress.org/tags/option-tree?forum_id=10

I’d think if there were real issues, people would’ve flooded that forum with complains already.

Finally! This is great!

I have few questions, though:

  1. What about child themes? I plan to release variations of my themes (color styles) as child themes, but the automatic updates will only cover the parent theme. Do you plan to make it child theme friendly? Or am I forced to include separate styles into parent theme and just provide an option in theme options to change the stylesheet?

  2. What about illegal use of files? Does the plugin check if the theme is already installed somewhere else?

osigrandi said
LucidStudios said

It’s nice to see that Envato is providing tools to authors to make theme development easier and quicker but these tools/plugins need constant updates in order to work with latest versions of WordPress so sometimes author get into a locked down position which is not good. For example OptionTree hasn’t been upgraded to work with WordPress 3.3.1 and if you see the “Compatibility” section for OptionTree plugin then 50% of the people are having trouble installing it with WordPress 3.3.1.

I never saw the Compatibility section as accurate, for any plugin.

I’m developing a theme right now on OptionTree and WP 3.3.1 with no issues at all. I suggest trying it for yourself. Furthermore, I saw no mentions of any compatibility issues in the corresponding forum here http://wordpress.org/tags/option-tree?forum_id=10

I’d think if there were real issues, people would’ve flooded that forum with complains already.

I have been using OptionTree myself for last 1 year and never faced any compatibility issues but it surely hasn’t been officially tested with WordPress 3.3.1 so can scare new authors willing to use OptionTree.

I get an error when trying to enter my API Key

ERROR: options page not found.

I tried to update my theme and got this error:

Optional WordPress Theme Your ZIP must contain a single folder at the top level, which will correspond directly with your users' /theme/YOUR_THEME_NAME/ folder. No folder was found at the top level, only files.

The ZIP contains only one folder, with the theme in it.

Any tips ?

halogenic said

I get an error when trying to enter my API Key

ERROR: options page not found.

Same here…

For end users, all that's required to get started is an Envato Marketplace username & API key, and to have purchased one of the many WordPress themes found on ThemeForest.net.

You really have hopes that users are going to accomplish this task succesfully? Really? Users which upload whole .zip and wonder why stylesheet is missing?

3. To establish an Envato Marketplace API connection navigate to the `Envato Toolkit` page and insert your Marketplace username and secret API key in the designated input fields.

Nothing shows up, page is broken (WP 3.3.1)

RikdeVos said
halogenic said

I get an error when trying to enter my API Key

ERROR: options page not found.

Same here…

I get this error too.

cosmincotor said

I tried to update my theme and got this error:

Optional WordPress Theme Your ZIP must contain a single folder at the top level, which will correspond directly with your users' /theme/YOUR_THEME_NAME/ folder. No folder was found at the top level, only files.

The ZIP contains only one folder, with the theme in it.

Any tips ?

Getting the same error.

This plugin and PHP library are a work in progress, so we are really glad to see people take them for a spin and report issues. Derek and I will look at these problems but it would really help us if with your reports the following points can also be included:

  • which theme on the marketplace did you have trouble with?
  • did you receive errors while testing the Plugin or the Library?
  • if using the library, please describe how you were doing it so we can replicate your scenario
  • if using the plugin, were you installing a new theme or upgrading an installed theme?
  • and obviously what errors you got

Thanks everyone