Désactiver la mise à jour automatique pour un seul plugin

9

J'ai un plugin que je sais que je ne veux jamais mettre à jour. Je suis conscient que ce n'est pas la meilleure pratique, mais dans ce cas, cela doit être fait. Existe-t-il un moyen d'empêcher WordPress de m'inviter à mettre à jour automatiquement un plugin donné (tout en restant alerte normalement).

    
posée GavinR 09.08.2011 - 02:02

6 réponses

7

La réponse de T31os était juste: augmentez le numéro de version dans le fichier principal du plugin. 99.9 ... et apportez la même modification dans le fichier lisez-moi pour faire bonne mesure (bien que je ne pense pas que ce soit réellement nécessaire) .. - t31os

    
réponse donnée GavinR 09.08.2011 - 17:42
11

vous placez ceci dans le functions.php de votre thème

// 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['plugin-folder-name/plugin-file-name.php'] );    
    return $value;
}

add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
    
réponse donnée Tara 09.08.2011 - 02:37
3

Bien que la réponse de Tara fonctionne bien, le programmeur doit entrer le chemin du fichier de plug-in principal. Ce dernier est uniquement fonctionnel tant que ce thème est activé. Une solution alternative pourrait ressembler à ceci:

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

Placez ce code en haut du fichier .php du plug-in que vous souhaitez désactiver. Si vous envisagez de l'utiliser plusieurs fois sur votre site, remplacez le _1234 du nom du filtre et de la fonction par un ensemble différent de nombres aléatoires pour éviter les noms de fonction en double.

Il est probable que si vous désactivez les mises à jour pour un plug-in particulier, c'est que vous les modifiez pour une raison quelconque ... il est donc viable d'ajouter quelques lignes supplémentaires à ce plug-in.

    
réponse donnée emc 25.09.2013 - 21:35
3

Je recevais les avertissements PHP tels que "gurung" mentionné ci-dessus lorsque j'ai installé ou mis à jour d'autres plugins lorsque j'utilisais ce code. J'ai vu les avertissements PHP dans WP 4.3.1.

J'ai trouvé d'autres articles sur stackexchange sur le problème et une fonction qui parcourt votre tableau de références de plugins et vérifie d'abord s'il existe déjà une référence à ce plugin (pour éviter l'avertissement non-objets s'il n'y en a pas) et s'il y a un objet, il le désinstallera comme le code d'origine.

Je n'ai pas fait de tests unitaires, mais des avertissements PHP apparaissaient à chaque mise à jour / installation de plugins et je ne les vois pas maintenant.

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' );
    
réponse donnée thetrickster 21.09.2015 - 18:02
1

Ou vous le renommez pour qu'il ne soit pas le même plugin.
Vous devez renommer non seulement le dossier, mais également l’en-tête du fichier Lisez-moi et du plug-in.

    
réponse donnée anmari 09.08.2011 - 03:25
0

J'ai hérité d'un site avec l'implémentation par NPC de la capture de code de tara, qui renvoyait des erreurs par commentaire de gurung. M'a rendu fou. J’étais hésitant à éditer du code dans un plugin, jusqu’à ce que j’ai réalisé que le tireur d’élite était de toute façon personnalisé.

Pour éliminer les erreurs, changez ceci:

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

à ceci:

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

Cela peut sembler évident pour certains, mais la clé est qu’il est déjà personnalisé afin que vous puissiez le modifier, et il ne sera probablement pas remplacé par des mises à jour car le but est de vous empêcher de mettre à jour le plugin.

    
réponse donnée Phreditor 17.12.2015 - 22:44

Lire d'autres questions sur les étiquettes