web-dev-qa-db-ja.com

リストからワードプレスプラグインを隠す

私は自分のテーマにいくつかのワードプレスプラグインを使っていて、それらをプログラムで有効にしています。

私のテーマのユーザーにこれらのプラグインのプラグインの更新、およびWordPressの管理パネルのプラグインリストでそれらを表示することに悩まされたくないでしょう。

自動バージョンチェッカーやプラグインリストからこれらのプラグインを除外する方法はありますか?

5
SpyrosP

RE:アップデートチェックからプラグインを除外する

はい、あなたは更新チェッカーからプラグインを除外することができます、かなりの解決策はありません、すなわち。言うには便利なフィルタはありません。ここではこれらを除外しますが、Mark Jaquithは ブログを作成しました しばらく前に戻します(比較的簡単な解決策です)。

/**
 * FOR PLUGINS
*/
function cws_hidden_plugin_12345( $r, $url ) {
    if ( 0 !== strpos( $url, 'http://api.wordpress.org/plugins/update-check' ) )
        return $r; // Not a plugin update request. Bail immediately.
    $plugins = unserialize( $r['body']['plugins'] );
    unset( $plugins->plugins[ plugin_basename( __FILE__ ) ] );
    unset( $plugins->active[ array_search( plugin_basename( __FILE__ ), $plugins->active ) ] );
    $r['body']['plugins'] = serialize( $plugins );
    return $r;
}

add_filter( 'http_request_args', 'cws_hidden_plugin_12345', 5, 2 );
/**
 * FOR THEMES
*/
function cws_hidden_theme_12345( $r, $url ) {
    if ( 0 !== strpos( $url, 'http://api.wordpress.org/themes/update-check' ) )
        return $r; // Not a theme update request. Bail immediately.
    $themes = unserialize( $r['body']['themes'] );
    unset( $themes[ get_option( 'template' ) ] );
    unset( $themes[ get_option( 'stylesheet' ) ] );
    $r['body']['themes'] = serialize( $themes );
    return $r;
}

add_filter( 'http_request_args', 'cws_hidden_theme_12345', 5, 2 );

出典: アップデートチェックからあなたのプラグインやテーマを除く。


RE:プラグインリストからプラグインを除外する

はい、可能です。私はこれを行うためのプラグインを自分で作成しましたが、コードを歓迎する以上のものです。

Plugin Hider - 私の開発環境のコピーから直接引き出されたので、必要に応じてあなた自身の調整をしてください。

個人的に私は私がAuthor: hidemeで隠したいすべてのプラグインをマークしています。

あなたがプラグインを試してみるなら、それを設定するためにメニューの中のPlugin Hiderリンクをクリックしてください、それは残りをするでしょう。もちろん、設定したメニュー項目を作成するコードをコメントアウトすることもできます。他の人を非表示にするプラグインがあることを忘れないでください(結果として、私は自分自身をサークルに入れました)。


それがあなたの質問を解決することを願っています... :)

4
t31os

この目的のために/ - 必ず使用するプラグイン(別名mu-plugins) を使用することができます。プラグインをmu-plugins内のwp-contentというフォルダに移動すると、更新名とそれらを無効にする機能が無効になります。

プラグインはプラグインリストに表示されます。

考慮に入れるべきいくつかの警告があるのでこのアプローチをとる前に主題の WordPress Codex で読むことを確かめて下さい。

3
alisspers

プラグインのアップデート通知を無効にするには: http://wordpress.org/extend/plugins/disable-wordpress-plugin-updates/

または単にfunctions.phpに次のスニペットを追加してください

remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );

Functions.phpに次のスニペットを追加することでバックエンドからプラグインメニューを削除することができます。

add_action('admin_head', 'remove_menu');
function remove_menu() {
global $menu;
unset($menu[65]);
}
1
Sean Lee