web-dev-qa-db-ja.com

個々のプラグインの更新通知を無効にする

特定のプラグインの更新通知を無効にする方法はありますか?

プラグイン開発者として、テスト用にsvn trunkバージョンを使って私の個人用サイトにプラグインをインストールしていますが、同じプラグインがプラグインサイトからも入手できます。このような場合、WPは最新バージョンを 最近公開された バージョンとみなし、常に更新が利用可能であることを警告しています。

私はまだ他のプラグインの更新の通知を見たいのですが、ヘッダのUpdates (2)の通知を常に無視するのは面倒です!

47
Caleb

たとえば、Wordpressにakismetの更新通知を表示させたくない場合は、次のようにします。

function filter_plugin_updates( $value ) {
    unset( $value->response['akismet/akismet.php'] );
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
63

Hameedullah Khanの答えはPHP警告を投げます。このif句を含めて、そのプラグインの応答を設定解除する前に、それがオブジェクトであることを確認します。

'警告:非オブジェクトのプロパティを変更しようとしています'

警告を避けるためにこれを試してください(プラグインファイル自体のコード):

// remove update notice for forked plugins
function remove_update_notifications($value) {

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

    return $value;
}
add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );

私はこれを実際のプラグインに入れるのが好きです。コードを編集またはフォークしたためにプラグインの更新を無効にしたことがあるため、更新で編集内容を失いたくないので、既にプラグインを編集しているので、それ以上編集する必要はありません。それは私の関数ファイルを少しきれいにしておく。しかし、もしあなたがそれをfunctionsファイルに入れることができ、その方法の利益があなたがそうするようにそのプラグインのための別のunset行を追加することによって更新から複数のプラグインを削除できることです。

// remove update notice for forked plugins
function remove_update_notifications( $value ) {

    if ( isset( $value ) && is_object( $value ) ) {
        unset( $value->response[ 'hello.php' ] );
        unset( $value->response[ 'akismet/akismet.php' ] );
    }

    return $value;
}
add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );
28
circlecube

すべての更新通知をコードで無効にする

function remove_core_updates(){
        global $wp_version;return(object) array('last_checked'=> time(),'version_checked'=> $wp_version,);
    }
    add_filter('pre_site_transient_update_core','remove_core_updates');
    add_filter('pre_site_transient_update_plugins','remove_core_updates');
    add_filter('pre_site_transient_update_themes','remove_core_updates');

コードは、WordPressコア、プラグイン、およびテーマの更新通知を無効にします。

2
Super Model