GPLv2ライセンスの下でWordpressの素晴らしいプラグインを見つけて、ソースコードに多くの変更を加えました。プラグインは何か他のことをします。著者(元のプラグイン著者のクレジット)、URL、バージョン番号(xxx 1.5からyyy 1.0まで)。
すべてがうまく機能しますが、Wordpress=はプラグインの更新をチェックし、プラグインyyy 1.0をxxx 1.0として扱い、利用可能な更新に関する通知を表示します。
変更したプラグインyyy 1.0は、WPリポジトリからではなく、コンピューターからファイルをコピーすることによってインストールされました。
他に何を変更する必要がありますか?
プラグインファイルには、更新をチェックする関数があります。元の作者はこれに何でも名前を付けることができたので、コードを調べて各関数とその機能を確認する必要があります。私は、この機能が何をするかに関して非常に明白になると想像します。
または、これをプラグインファイルに追加できます。
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;
}
クレジット: http://developersmind.com/2010/06/12/preventing-wordpress-from-checking-for-updates-for-a-plugin/
プラグインの更新を無効にする
プラグインのルートファイルにこのコードを追加します。
add_filter('site_transient_update_plugins', 'remove_update_notification');
function remove_update_notification($value) {
unset($value->response[ plugin_basename(__FILE__) ]);
return $value;
}
このコードをテーマのfunctions.phpファイルに入れます。これは私のために働いており、私はそれを使用しています。また、これは特定のプラグイン用です。ここで、プラグインのメインファイルのURLをプラグインのURLと一致するように変更する必要があります。
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' );
ここに:
"facebook-comments-plugin" => facebook commentsプラグインフォルダー名
"facebook-comments.php" =>プラグインのメインファイル。これはindex.phpのように異なる場合があります
これが助けになることを願っています。
最も簡単で効果的な方法は、更新を取得したくないプラグインのバージョンを変更することです。たとえば、wptouchを更新したくない場合は、次のような定義ファイルを開きます。
/*
Plugin Name: WPtouch Mobile Plugin
Plugin URI: http://www.wptouch.com/
Version: 4.0.4
*/
ここでバージョンの変更で4.0.4に9999のように:
/*
Plugin Name: WPtouch Mobile Plugin
Plugin URI: http://www.wptouch.com/
Version: 9999
*/
add_filter('site_transient_update_plugins', '__return_false');
function.phpで上記のコードを追加し、すべてのプラグインの更新を無効にします
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;
}
プラグインの更新を手動で無効にする:
remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );
プラグインの更新を無効にするには、次の行をwp-config.phpに追加します。
define('DISALLOW_FILE_MODS',true);
完全を期すために、選択した他のプラグインの更新をブロックするプラグインをもう1つ示します。
https://github.com/daggerhart/lock-plugins
その背景と機能モードに関するいくつかの情報を見つけることができます こちら (ドイツ語)。