Désactiver les notifications de mise à jour pour un plugin précis

On se retrouve régulièrement avec des plugins obsolètes mais que l’on ne souhaite pas mettre à jour parce que nous y avons fait des modifications ou parce que celui-ci ne serait plus compatible avec notre thème/site. Bref, c’est toujours ennuyant de voir que notre site n’est pas à jour et d’avoir des notifications pour la mise à jour de ce plugin spécifique.

Comment désactiver le contrôle des mise à jour pour un plugin WordPress ?

Pour supprimer les notifications et mises à jour d’un plugin spécifique sur un site WordPress il vous suffit d’ajouter la fonction suivante à votre fichier functions.php : (et de remplacer par votre plugin évidement).

// Désactiver le contrôle des mises à jour et notifications pour un plugin
function wpln_desactiver_plugin_update( $r, $url ) {
    if ( 0 !== strpos( $url, 'http://api.wordpress.org/plugins/update-check' ) )
        return $r;
 
    // array of the plugins
    $blocked_plugins = array(
        'akismet/akismet.php',
        'contact-form-7/wp-contact-form-7.php',
    );
 
    if ( 0 === (int) count( $blocked_plugins ) )
        return $r;
 
    $installed_plugins = unserialize( $r['body']['plugins'] );
    foreach( $blocked_plugins as $p ) {
        unset( $installed_plugins->plugins[ $p ] );
        unset( $installed_plugins->active[ array_key_exists( $p, $installed_plugins ) ] );
    }
    $r['body']['plugins'] = serialize( $installed_plugins );
 
    return $r;
}
add_filter( 'http_request_args', 'wpln_desactiver_plugin_update', 5, 2 );

Remplacez donc

        'akismet/akismet.php',
        'contact-form-7/wp-contact-form-7.php',

Par les lignes de vos plugins dont vous souhaitez désactiver le contrôle des mises à jour disponibles.