Désactiver la notification de mise à jour pour des plugins individuels

44

Existe-t-il un moyen de désactiver les notifications de mise à jour pour des plugins spécifiques?

En tant que développeur de plug-in, des plug-ins sont installés sur mon site personnel. Ils sont testés à l'aide de la version svn trunk, mais les mêmes plug-ins sont disponibles à partir du site. Dans ces cas, WP considère que la dernière version est la version la plus récemment publiée et tente en permanence de m'avertir que des mises à jour sont disponibles.

Je veux toujours voir les notifications de mises à jour sur d'autres plugins, mais il est fastidieux d'ignorer constamment le Updates (2) notice dans l'en-tête!

    
posée Caleb 21.06.2011 - 12:12

3 réponses

59

Par exemple, si vous ne souhaitez pas que Wordpress affiche les notifications de mise à jour pour Akismet, procédez comme suit:

function filter_plugin_updates( $value ) {
    unset( $value->response['akismet/akismet.php'] );
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
    
réponse donnée Hameedullah Khan 21.06.2011 - 16:44
25

La réponse de Hameedullah Khan lancera un avertissement PHP. Incluez cette clause if pour vérifier qu’il s’agit bien d’un objet avant de désactiver la réponse pour ce plugin.

'Avertissement: tentative de modification de la propriété d'un non-objet'

Essayez ceci pour éviter les avertissements (code du fichier du plugin lui-même):

// remove update notice for forked plugins
function remove_update_notifications($value) {

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

    return $value;
}
add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );

J'aime mettre cela dans le plugin actuel. Comme je n'ai jamais désactivé que les mises à jour sur un plugin parce que j'ai édité ou fourchi le code et que je ne veux pas perdre mes modifications sur une mise à jour, j'ai déjà édité le plugin et je ne crains donc pas de le modifier davantage. Cela garde mon fichier de fonctions un peu plus propre. Mais si vous le souhaitez, vous pouvez le mettre dans le fichier de fonctions et un avantage de cette méthode est que vous pouvez supprimer plusieurs plugins des mises à jour en ajoutant une autre ligne non définie pour ce plugin, comme ceci (code pour functions.php):

// remove update notice for forked plugins
function remove_update_notifications( $value ) {

    if ( isset( $value ) && is_object( $value ) ) {
        unset( $value->response[ 'hello.php' ] );
        unset( $value->response[ 'akismet/akismet.php' ] );
    }

    return $value;
}
add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );
    
réponse donnée circlecube 27.01.2015 - 16:01
2

Désactiver toutes les notifications de mise à jour avec un code

function remove_core_updates(){
        global $wp_version;return(object) array('last_checked'=> time(),'version_checked'=> $wp_version,);
    }
    add_filter('pre_site_transient_update_core','remove_core_updates');
    add_filter('pre_site_transient_update_plugins','remove_core_updates');
    add_filter('pre_site_transient_update_themes','remove_core_updates');

Le code désactivera les notifications de mise à jour pour le noyau, les plugins et les thèmes WordPress.

    
réponse donnée Super Model 09.05.2018 - 13:09

Lire d'autres questions sur les étiquettes