web-dev-qa-db-fra.com

Wordpress - comment désactiver la mise à jour du plugin

J'ai trouvé un excellent plugin pour Wordpress sous licence GPLv2 et apporté de nombreuses modifications au code source, le plugin fait maintenant autre chose . aaa 1.0).

Tout fonctionne très bien, mais lorsque Wordpress recherche les mises à jour de plugins, il traite mon plugin yyy 1.0 comme xxx 1.0 et affiche une notification concernant les mises à jour disponibles.

Le plug-in modifié yyy 1.0 a été installé en copiant les fichiers de mon ordinateur et non du référentiel WP.

Que dois-je changer d'autre? 

33
pp_1

Dans le fichier plugin, il y aura une fonction qui vérifiera les mises à jour. L’auteur original aurait pu nommer ce nom, vous devrez donc parcourir le code, vérifier chaque fonction et son rôle. J'imagine que la fonction sera assez évidente quant à ce qu'elle fait.

Sinon, vous pouvez ajouter ceci à votre fichier de plugin:

add_filter( 'http_request_args', 'dm_prevent_update_check', 10, 2 );
function dm_prevent_update_check( $r, $url ) {
    if ( 0 === strpos( $url, 'http://api.wordpress.org/plugins/update-check/' ) ) {
        $my_plugin = plugin_basename( __FILE__ );
        $plugins = unserialize( $r['body']['plugins'] );
        unset( $plugins->plugins[$my_plugin] );
        unset( $plugins->active[array_search( $my_plugin, $plugins->active )] );
        $r['body']['plugins'] = serialize( $plugins );
    }
    return $r;
}

Crédits: http://developersmind.com/2010/06/12/preventing-wordpress-from-checking-for-updates-for-a-plugin/

21
danyo

Désactiver la mise à jour du plugin

Ajoutez ce code dans le fichier racine de votre plugin.

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

Placez ce code dans le fichier theme functions.php. Cela fonctionne pour moi et je l'utilise. C'est aussi pour un plugin spécifique. Ici, vous devez modifier l'URL du fichier principal du plug-in afin qu'il corresponde à celui de votre plug-in.

 function my_filter_plugin_updates( $value ) {
   if( isset( $value->response['facebook-comments-plugin/facebook-comments.php'] ) ) {        
      unset( $value->response['facebook-comments-plugin/facebook-comments.php'] );
    }
    return $value;
 }
 add_filter( 'site_transient_update_plugins', 'my_filter_plugin_updates' );

Ici:

"facebook-comments-plugin" => nom du dossier du plug-in de commentaires facebook

"facebook-comments.php" => Le fichier principal du plugin.Cela peut être différent de celui de index.php

J'espère que ce serait une aide.

27
Sumith Harshan

Le moyen le plus simple et le plus efficace est de changer la version du plugin dont vous ne voulez pas obtenir la mise à jour. est comme: 

/*
    Plugin Name: WPtouch Mobile Plugin
    Plugin URI: http://www.wptouch.com/
    Version: 4.0.4

*/

Ici dans la version changer 4.0.4 to 9999 Comme: 

/*
    Plugin Name: WPtouch Mobile Plugin
    Plugin URI: http://www.wptouch.com/
    Version: 9999

*/
13
Abhinav bhardwaj
add_filter('site_transient_update_plugins', '__return_false');

dans function.php, ajoutez le code ci-dessus et désactivez toutes les mises à jour des plugins

12
victor

Voici une version mise à jour du script de Mark Jaquith:

  • Les mises à jour de WP sont passées à HTTPS
  • Unserialize a été bloqué sur mon hébergement partagé
  • Ceci utilise json_decode et json_encode à la place
  • Crédit: Block Plugin Update

.

add_filter( 'http_request_args', 'widget_disable_update', 10, 2 );

function widget_disable_update( $r, $url ) {
    if ( 0 === strpos( $url, 'https://api.wordpress.org/plugins/update-check/' ) ) {
        $my_plugin = plugin_basename( __FILE__ );
        $plugins = json_decode( $r['body']['plugins'], true );
        unset( $plugins['plugins'][$my_plugin] );
        unset( $plugins['active'][array_search( $my_plugin, $plugins['active'] )] );
        $r['body']['plugins'] = json_encode( $plugins );
    }
    return $r;
}
2
skibulk

Ajoutez cette ligne à wp-config.php pour désactiver les mises à jour de plugins:

define('DISALLOW_FILE_MODS',true);
0
Tanto Prihartanto