WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a plugin that I know I never want to update. I am aware that this is NOT best practice, but in this case it must be done. Is there any way to stop WordPress from prompting me to auto-update a particular plugin (but still alert as normal for all other plugins).

share|improve this question
4  
Increase the version number inside the plugin's main file.. eg. 99.9 ...and also make that same change inside the readme file for good measure(though i don't think that's actually required).. – t31os Aug 9 '11 at 0:12
    
Will adjusting the version numbers still work if the plugin updates its version numbers to something like 1.10.1? – emc Sep 25 '13 at 19:33

you place this in your theme's functions.php

//Disable update notification for individual plugins - see my example of plugin block-spam-by-math-reloaded as to how to use this function
function filter_plugin_updates( $value ) {    
unset( $value->response['block-spam-by-math-reloaded/block-spam-by-math-reloaded.php'] );    
return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
share|improve this answer
    
I don't understand why there's a Google +1 button code in your answer... Probably a left over... – brasofilo Jun 29 '12 at 19:38
    
left over. Sorry. – Tara Jun 30 '12 at 21:05
1  
This solution throws a warning while enabling or disabling any other plugin. Warning: Attempt to modify property of non-object in /home/XXXXXX/public_html/wp-content/themes/XXXXXXX/custom-functions.php on line 15 – gurung Jan 11 '14 at 3:58
    
gurung what version of WP are you using this on? – fedmich Feb 17 '15 at 16:33
up vote 7 down vote accepted

T31os's answer was right: Increase the version number inside the plugin's main file.. eg. 99.9 ... and also make that same change inside the readme file for good measure(though i don't think that's actually required).. – t31os

share|improve this answer
    
This worked better for me. Thanks. – gurung Jan 11 '14 at 3:58

While Tara's answer works well, it requires the programmer to enter the path to the main plugin file and it is only functional while that particular theme is enabled. An alternative solution might look like this:

add_filter('site_transient_update_plugins', 'remove_update_notification_1234');
function remove_update_notification_1234($value) {
    unset($value->response[ plugin_basename(__FILE__) ]);
    return $value;
}

Place this code at the top of the main .php file of the plugin you wish to disable. If you plan on using this more than once in your site, change the _1234 in the filter and function name to a different set of random numbers to avoid duplicate function names.

Chances are that if you are disabling updates for a particular plugin, it's because you're editing it for some reason... so adding a few extra lines to that plugin should be viable.

share|improve this answer

I was getting PHP Warnings like 'gurung' mentioned above when I installed or updated other plugins when I was using this code. I saw the PHP Warnings in WP 4.3.1.

I found some other posts on stackexchange about the issue and I've come up with a function that loops through your array of plugin references and first checks to see if there's a reference to that plugin already (to avoid the PHP warning on non-objects if there isn't one) and if there is an object it will unset it just like the original code.

I haven't done unit tests but was getting PHP warnings on every update/install of plugins and now I don't see them.

function filter_plugin_updates( $value ) {

  // Add references to plugins you want to disable update notices for in the $plugins array
  $plugins = array(
    'k-elements/setup.php'
  );

  foreach( $plugins as $plugin ) {
    if ( isset( $value->response[$plugin] ) ) {
      unset( $value->response[$plugin] );
    }
  }

  return $value;

}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
share|improve this answer

Or you just rename it so it is 'not' the same plugin.
You need to rename not just the folder but also in the readme and plugin header.

share|improve this answer

I inherited a site with npc's implementation of tara's code snip, which threw errors per gurung's comment. Drove me nuts. I was hesitant to edit code in a plugin, until I realized that the snipper is custom anyway.

To eliminate the errors, change this:

unset($value->response[ plugin_basename(__FILE__) ]);

to this:

if($value) {
    unset($value->response[ plugin_basename(__FILE__) ]);
}

It may be obvious to some, but the key is that it is already custom so you can edit it, and it probably won't be overwritten by updates because the whole point is to keep you from updating the plugin.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.