Single Click Plugin Updater WordPress Plugin
This plugin extends the plugin update notification feature introduced in WordPress 2.3 by adding an “update automatically” link to update notifications. When you click the link, the new version of the corresponding plugin is downloaded and installed automatically. It also lets you know which plugins have update notifications enabled.
Update 06.04.2008 : Version 2.0.1 with much more features is out. More info here.
Download it now! (37 Kb)
How It Works (In Detail)
To be able to display the new link this plugin will hide the original update notification and display a slightly modified one. Here’s what happens when you click the “update automatically” link :
- If the plugin that needs to be updated is active, it is deactivated.
- The Plugin Updater retrieves the plugin’s page from Wordpress.org and finds the download link.
- The new version is downloaded and extracted to the wp-content/plugins directory (this directory must be writable by the Updater plugin).
- If necessary, the updated plugin is re-activated.
All this happens in the background, so if everything works OK you’ll end up back at the “Plugins” tab. If there are any errors the plugin will display an error message and abort the upgrade.
Requirements
- WordPress 2.3 or newer.
- CURL library installed or allow_url_fopen enabled in php.ini. If you don’t know what that means, don’t worry - at least one of these is available on most webservers by default.
- The /plugins directory must be writable by WordPress. The exact file permissions depend on the server configuration. Read more about file permissions. 666 or 755 may be sufficient, and 777 will always work, though this is not recommended due to security risks.
The plugin has been tested and works under Firefox 2.x, Opera 9.x and, as of version 1.0.5, Internet Explorer.
Installation
To install the plugin, please follow these steps:
- Download the one-click-plugin-updater.zip file (below) to your computer.
- Unzip the file.
- Upload “one-click-plugin-updater” folder to the “/wp-content/plugins/” directory.
- Activate the plugin through the ‘Plugins’ menu in WordPress.
That’s it.
Download
one-click-plugin-updater.zip (40 Kb)

February 16th, 2008 at 9:07 am
WOW! Excellent! This should be included with wp already, thanks.
February 13th, 2008 at 2:24 pm
[...] project which attempts to generalise the one click update of WordPress plugins. It is called the One click plugin updater. This tries to add this facility to existing plugins. From the comments on the plugin page it looks [...]
February 11th, 2008 at 7:43 pm
[...] along comes the One-Click Updater plugin developed by W-Shaow. As you can see below, once installed you simply click the “update automatically” link [...]
February 11th, 2008 at 2:03 am
[...] One Click Plugin Updater: تحديث الإضافات المثبته في مدونتك بضغطة زر [...]
January 11th, 2008 at 3:55 am
Okay, thanks White Shadow!
Thomas
January 10th, 2008 at 2:17 pm
Hey Thomas,
This is a known issue - it happens when the new version of a plugin has a different directory structure than the old one. There’s no way to safely fix this right now, so I suggest you deactivate the old version and activate the new plugin. Then you could manually delete the old version from your plugin folder.
By the way, this should only happen for some very specific plugins, not all of them.
January 10th, 2008 at 8:35 am
Love this plugin. It works great, but for some reason, it has been installing the newer versions of plugins and leaving the old versions in the plugin list. Please help.
January 3rd, 2008 at 10:39 pm
[...] One Click Plugin Updater [...]
January 2nd, 2008 at 11:01 pm
[...] Single Click Plugin Updater - A very handy plugin that extends the plugin notification system, introduced in WordPress version 2.3. This plugin also provides an ‘update now’ link that, when clicked, will automatically download and install the new version on your blog. [...]
December 22nd, 2007 at 4:12 pm
[...] This plugin. This plugin is called the “One Click Plugin Updater”. Once installed and activated, and provided you’re using the most recent version of WordPress - all you need to do is visit your plugins page every now and again and scroll to see which plugins need to be updated, click to “update automatically” and that’s IT. How much easier could it get? There are a few plugins, unfortunately, that aren’t loaded into the plugins directory in such a way that they update automatically. Those need to be updated manually (and you’ll know, because the “update automatically” prompt will not go away). Other than those - it is a sweet little plugin and it will make your blogging life just a little bit easier! [...]
December 17th, 2007 at 3:14 pm
Danny : the two plugins have very different architectures, so they probably won’t be completely merged. There might be a version of Oneclick installer that includes my plugin, but there will also always be a standalone version of the single click updater available.
Steven : That’s good. I hope I’ll be able to at least partially avoid the file permission hassle in a future version - Anirudh, the author of Oneclick installer, gave me an idea about that…
December 17th, 2007 at 12:02 pm
Setting the permissions of the plugin to be updated worked.
December 17th, 2007 at 7:12 am
I haven’t tried the one-click installer in a while (since right after the plugin competition) but it never worked with the simplicity, power, and effectiveness of the single click plugin updater. So, I would love to see these two plugins work together, but what I’d like to see is the single-click updater influence the one-click installer. That, or keep them separate.
That’s just me.
December 17th, 2007 at 1:48 am
[...] Wordpress Automatic Upgrade que actualiza el WordPress en unos 5 o 6 clics desde el administrador y One Click Plugin Updater que actualiza plugins de la misma [...]
December 16th, 2007 at 7:59 pm
Email sent.
December 16th, 2007 at 6:41 pm
Hi, I’m the author of OneClick installer (http://anirudhsanjeev.org/oneclick/), the next version of oneclick will incorporate this along with many new features. Would you be interested in merging the code or the projects and/or contributing to development?
email me at anirudh $at$ anirudhsanjeev $dot$ org
December 15th, 2007 at 3:33 pm
Have you tried setting the target plugin’s directory and/or files to 777? I know it’s not very secure, but if it works then, we can at least be sure it’s a file permission issue.
December 15th, 2007 at 1:25 am
It executes now, but the plugin is not updated after it executes. Below the plugin there is still a notification that the plugin is not up to date.
December 14th, 2007 at 10:46 pm
I see that for some reason it couldn’t find the system’s temp folder, so it tried to use the plugins own folder to store the temporary file, which worked because you changed the permissions. So, problem solved
(more or less; you can set “debug” to false again.)
I’ll check if I can do anything about it failing to locate the system-wide temp. directory. I have edited the log you posted to only leave in the important parts - this page is getting very large…
December 14th, 2007 at 10:09 pm
I also changed the permissions of the folder for the plugin to 777.
December 14th, 2007 at 10:09 pm
Will save the new version archive (zip) to a temporary file ”.
Warning: couldn’t create a temporary file at ”.
Using alternate temporary file ‘/hsphere/local/home/world/theworldbyroad.com/wordpress/wp-content/plugins/one-click-plugin-updater/PLGPBZzrg’.
About to extract the new version.
December 14th, 2007 at 8:10 pm
sorry that was version 1.1.6
December 14th, 2007 at 7:22 pm
As I wrote above, you can try to “open the one-click-plugin-updater.php file and change the line that says “var debug = false;” to “var debug = true;” to get a detailed report of what the plugin tries to do.” That might give you more information about the error.
Other than that, I don’t see what could be wrong. Maybe it can’t create the file because of file permissions (seems very unlikely)? Hmm.
December 14th, 2007 at 7:00 pm
I am still getting the same cannot create tmp file error message.
Any other suggestions? The site is hosted on a linux system, pretty standard settings. There is plenty of room on the partition to create the necessary files.
Here is the error again:
Error : couldn’t create a temporary file ”.
I just updated the plugin, but still have the same problem. The plugin I am using right now is version 1.6.
December 10th, 2007 at 11:03 pm
Interesting, but I can’t think of anything at the moment :/
December 10th, 2007 at 10:20 pm
version 1.1.6 .. I set debug true and got a long list of text. The following looks interesting:
gzopen() found, will use PclZip.
Error: PclZip reports failure. ‘PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature’
gzopen() not found or PclZip error. Running unzip instead.
unzip returned value ‘0′. unzip log :
Array
(
[0] => Archive: /tmp/PLGXhAsVH
[1] => peters-custom-anti-spam-image packaged: Mon, 03 Dec 2007 03:40:03 +0000
)
extractPlugin() succeeded.
Plugin extracted, deleting temporary file ‘/tmp/PLGXhAsVH’
Upgraded plugin was not active. Will redirect back to plugin list.
December 10th, 2007 at 9:52 pm
Have you got the latest version? Some other people have reported the same problem before, but it should be mostly fixed in the current version.
If you have the latest version, you can open the one-click-plugin-updater.php file and change the line that says “var debug = false;” to “var debug = true;” to get a detailed report of what the plugin tries to do.
As for the php.ini lines, I don’t know what you’re talking about
December 10th, 2007 at 8:57 pm
The updater doesn’t update for me the plugin page just reloads its self without any error messages.
I already set the permissions to the plugin directory. What line do I need to add to my php.ini?
December 10th, 2007 at 3:36 pm
Actually, scratch that - just try the version I uploaded now. I suspect it might work better.
December 10th, 2007 at 3:04 pm
The plugin needs to create a temporary file to store the new version (a zip file) before it can extract it. It uses a built-in PHP function to determine where to store the file (tempnam()).
Do you have enough diskspace left on the partition that holds the temporary files? And what OS does your server have?