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?
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/
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;
}
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.
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
*/
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
Voici une version mise à jour du script de Mark Jaquith:
.
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;
}
Ajoutez cette ligne à wp-config.php pour désactiver les mises à jour de plugins:
define('DISALLOW_FILE_MODS',true);