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.








Very nice work guys. I’ll be sure to implement this in one of the themes I hope to release soon.
But I expect this is only for themes? Will something like this be available for plugins? or does this work for plugins as well?
At the moment, this is only for WordPress themes on ThemeForest. Once we see how it goes, we’re certainly hoping to add in plugins from CodeCanyon as well
Wow great news for buyers!
Great work! Now updating is really easy for customers and they will never miss an update! Thanks
I love when the authors stay on top of their game!! I will be purchasing one of your themes for my personal site
Nice! What about wordpress plugins on codecanyon?
+1 Would love to see this on CC too!!
Hey guys! We certainly plan to add plugins from CodeCanyon to this eventually too
Also, there’s further discussion happening about this over on the ThemeForest marketplace forums.
Hi Japh,
This is really awesome news. I can’t tell you how many times this has come up in support:
“I need to update the theme? What does that mean exactly? ugh!”
I just have a quick question. You made a note in your article about formatting style.css properly and making sure to have the same “Author” name always moving forward.
Can you elaborate on this any more? Currently I have the author in all my themes as my actual name “Jason Bobich” and not my ThemeForest username. Would it be better to change this to be my ThemeForest username? Or how does this work with your system?
Hey Jason, it really doesn’t matter too much what name you use. Your actual name is fine. It’s just a good idea to keep it the same into the future.
See the example in Jason’s original forum post I mentioned above.
Cool, gotta check em out
nice one
Great Job. Less headaches for theme users.
PLEASE extend this to support WordPress Plugins from CodeCanyon as well! Please, please, please!
Hi Jonas, we certainly plan to eventually, but we’d like to see how things go with themes on ThemeForest for a little while first.
Freaking Sweet. Some authors don’t reveal when they have updated a theme and this will help out greatly. Thanks!
UI just tried installing it on a MU-enabled blog network. It looks like I can’t save the User settings. It just goes to a 404 page when I try to hit save.
Will updating a theme lose all the customisation we’ve applied to the original theme?
I know that when you update the 2 stock WordPress themes, you lose all your configuration and customisation, so I wondered if this were the same, returning themes to default settings on update?
hi, when i try to activate the plugin show this :”Parse error: syntax error, unexpected $end in s/public_html/wp-content/plugins/envato-wordpress-toolkit/index.php on line 457″
Hi there! Great news and I’ve already installed the plugin in all my websites. But it breaks in Multisite installs– I can install it and activate it, but when I input my Themeforest username and API key I get sent to my primary website’s 404 error page. Are you going to release a separate version for WordPress Multisite? Thank you
Hi minkoff, we’ve now updated the plugin and the new version is working fine with WordPress Multisite. Please let us know if you’re still experiencing issues.
Hi again Japh & Envato Team! I redownloaded the plugin, deleted the old one and reinstalled, but the same error shows up– 404 when I try to save my themeforest username & API key. The themes installed in the network are all Themeforest ones. Please advise
Thanks!
Hey Minkoff,
I updated the plugin again late in the night or morning yesterday, try it one more time and let me know if everything is working. It’s still tagged as 1.3 because it has only one small difference. The form submit url uses admin_url instead of network_admin_url which logically you would think would work but doesn’t. Anyhow, hope it’s all good now.
Cheers!
It worked like a charm! Thank you, Derek & team
It’s awesome that you sorted it out so fast! Am updating one of my themes as we speak.
Hi, I’ve installed version 1.3 on WPMS 3.3.1, but same error is occurring – when saving user details a 404 is returned.
Download the latest version from github.com
Thanks Derek, I can confirm it’s working now.
That’s great news, sorry for the issue in the first place. Sometimes Multisite gets overlooked during development.
Seems like a good idea. But I am wondering how many people will click the update button and then loose all their customizations on their theme because they didn’t use a child theme. This may just equal more support requests.
The plugin ask you if you want to proceed before updating with an alert.
Awesome news. Please extend this support to CodeCanyon
That will be coming in a future release. Hopefully I can get to it sooner than later as I want this feature too.
Hey everyone!
Letting you know we’ve just released the Envato WordPress Toolkit plugin v1.4 (just the plugin, not the library, at this stage).
Version 1.4 adds support for theme backups during a automated theme upgrade. This backup functionality can also be turned off from within the UI.
This is an effort to address the concerns people have raised about customisations being lost during an automated theme upgrade. Now, when a user initiates an upgrade from the Envato WordPress Toolkit, the existing theme is backed up to the
/wp-content/envato-backups/directory first. A link is then provided on the Envato WordPress Toolkit page to download that backup ZIP file if the user should need it.We hope you love this improvement on the plugin
This is really great to hear. I can’t wait to test it out.
I just wanted to let you know that in the original article above, the links to github are incorrect.
https://github.com/envato/envato-wordpress-toolkit
Thanks for pointing that out, I went ahead and fixed them.
Cheers!
This should be mandatory. Seriously. Also, themes should come with built-in child themes so users know to leave the original theme alone.
Hi,
the idea of this plugin is great!
But I use WP 3.4.1 as multisite and when I activate your plugin I find no settings page!
Thanks for reporting this, Chris! We’ll take a look and get it resolved.
Is this ever going to be supported on CodeCanyon?
Hi there! As Derek mentioned above: “That will be coming in a future release. Hopefully I can get to it sooner than later as I want this feature too.”
I would gladly help out with this if it helps.
I’m just frustrated that this has been announced a long time ago and since then things haven’t moved a lot (if at all)…
Thanks anyways
Making the plugin work with CC is not as simple as just editing the plugin. The marketplace devs would need to extend the API and then authors would need to upload their plugins to the marketplace much like the theme field on TF. I can understand your frustration with the situation and as soon as the devs are able to add the required API changes I’m sure we’ll get it working.
Another reason I have not hounded the devs is I’ve been busy building OptionTree 2.0 so you can imagine I’ve had my hands full. If you’re serious about helping though, you can alway fork the repo on github and do a pull request with any code you’d like to have included in the plugin or bugs you’ve found etc. I would appreciate any help you can give towards making the project better.
I’m sorry it hasn’t happened yet and when I get a moment I’ll talk to the devs about getting the API changed. I haven’t forgot about the plugin, I’m just swamped.
You need to come up with an extensive documentation on how to integrate the tool kit library into a wordpress theme.
WP 3.4.1 plus Envato toolkit plugin 1.4:
I have no settings page for the plugin within my WordPress installation!
Where can I set my API without it?!?
Hi Colorit. Here are the instructions from Github. Which step do you get stuck on?
1. Upload the `envato-wordpress-toolkit` folder to the `/wp-content/plugins/` directory.
2. Activate the plugin through the `Plugins` menu in WordPress.
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. To obtain your API Key, visit your “My Settings” page on any of the Envato Marketplaces.
4. Once the API connection has been established you will see a list of themes that can be auto installed. If you don’t see any themes and are certain you’ve done everything correct, there is a good chance the theme author has not updated their theme to be available for auto install and update. If that’s the case, please contact the theme author and ask them to update their theme’s information.
I tried installing this plugin onto my site. Followed all the instructions that i found on forums, and now when I go to my site i get this error:
Fatal error: Call to undefined function wp_get_theme() in /home/celeste/public_html/wp-content/themes/ViewPoint/teoPanel/nhp-options.php on line 907
I cannot access my site, nor the wordpress dashboard, admin panel. Can someone offer any advice?
Hi Celeste!
Just to confirm for me, what version of WordPress are you installing the plugin on?
I’ll take a look at this and let you know once I’ve got a solution for you
Hi Japh,
THanks for checking on this. I’ve gotten my solution.
Problem was my version of WP. I’m just training myself on these things so an amateur mistake!
Thanks again!
No problem, Celeste. Glad you worked it out
Really a great help to customers like me. Now I’m waiting for this same type of toolkit for codecanyon:-)
Hi! I’m using the Envato Toolkit plugin on a test website (not my own website), and when trying to update the theme (we use Emerald) it gives this error:
———————————–
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class ‘Envato_WP_Toolkit’ does not have a method ‘_http_request_args’ in /home/…./domains/…./public_html/wp-includes/plugin.php on line 173
Update Theme
Downloading upgrade package from the Envato API…
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class ‘Envato_WP_Toolkit’ does not have a method ‘_http_request_args’ in /home/…./domains/…/public_html/wp-includes/plugin.php on line 173
Unpacking the update…
Installing the latest version…
The package could not be installed. The plugin contains no files.
Theme update failed.
—————————-
We are using the latest WP version, 3.5.1.
We also receive these errors when navigating the WordPress admin pages:
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class ‘Envato_WP_Toolkit’ does not have a method ‘_http_request_args’ in /home/…./domains/…./public_html/wp-includes/plugin.php on line 173
Warning: Cannot modify header information – headers already sent by (output started at /home/…./domains/…./public_html/wp-includes/plugin.php:173) in /home/….domains/…./public_html/wp-includes/option.php on line 568
Warning: Cannot modify header information – headers already sent by (output started at /home/…./domains/…./public_html/wp-includes/plugin.php:173) in /home/…./domains/…./public_html/wp-includes/option.php on line 569
——————————————
The trouble is, I don’t know whether this has to do with file/folder access permissions, the plugin not being installed correctly (it gave the errors above from the start) or something else.
Any help towards a solution is greatly appreciated.
Thanks for the detailed report, Remy. We’ll take a look into this and see what the issue is.
Thanks Japh. I tried hard-removing the plugin via FTP, and afterwards a clean install of the plugin from the WP-admin. Install and activation of the plugin worked fine, but after that, the following error is persistent in the dashboard, and when trying to use the plugin to update the theme:
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class ‘Envato_WP_Toolkit’ does not have a method ‘_http_request_args’ in /home/../domains/…/public_html/wp-includes/plugin.php on line 173
It seems like the plugin.php needs to be updated or something, because the Envato_WP_Toolkit is trying to get something back from it.
Sadly, I’m not a web dev dude, so I can’t just point and say ‘there’s your problem!’.
When I try to include the PHP library in my theme I get this error message:
Fatal error: Cannot redeclare class Envato_Protected_API in /home/ela22/public_html/hipster/wp-content/themes/hipster/envato-wordpress-toolkit-library/class-envato-protected-api.php on line 13
(ps: Envato toolkit plugin is already installed)
Any ideea why ?
Thank you
Hello everyone,
we’d like to try and integrate the toolkit in our themes, yet there’s no way for a developer to test it against our own products, as you’d need to buy a different item.
Is there a way to allow developers to test the toolkit with their own products?
Thanks!
Thanks for the feedback, THBThemes. Currently, there is no way to check without having purchased an item. We’ll have to look into this.
Hello Guys,
We included this to our latest theme and customers are always asking this plugin has update found but how to update this plugin?
I have checked with my local and that’s now v1.4 and WordPress keep saying 1.5 is available please update! message.
Any idea about this? Thanks
I keep getting this error – what can I do about it?
Fatal error: Cannot use object of type WP_Error as array in …/wp-content/themes/sizemttrs/envato-wordpress-toolkit-library/class-envato-protected-api.php on line 344
Im having this same issue!!!! pleas help!
Hi Mark and Andy, are you guys using the latest version? This issue has been resolved. Please try downloading again from GitHub.
just downloaded and installed latest version from git and installed on latest wordpress.
i get the same error:
Fatal error: Cannot redeclare class Envato_Protected_API in /home/.sites/824/site1171/web/cn/wp-content/plugins/envato-wordpress-toolkit-master/includes/class-envato-api.php on line 13
what can i do?
Hi Steve, that’s actually a different error. It appears you may have the plugin installed twice.
Can you check on this?
hi Japh,
i double-checked, and nope – no double install there. what else could it be? on yet another website i can activate the plugin, but when i enter username and api and click on save, the page reloads but nothing happens (brings me back to the page asking for username and api (which remain filled in)).
any clue anyone?
Interesting. Something is definitely happening twice there. Perhaps your theme has it built in?
Hi there,
I answered some problem of this plugin here,
http://themeforest.net/forums/thread/set_time_limit-function-issue-with-envato-toolkit-plugin/97327
There don’t have an answer yet. Hope you guys can help me
Thanks