web-dev-qa-db-ja.com

WordPress-メタジェネレータタグを削除するにはどうすればよいですか?

私はこれらのタグを持っています:

<meta name="generator" content="Woo Framework Version 3.1.1" />
<meta name="generator" content="WordPress 3.5" />
<meta name="generator" content="Canvas 3.0" />

追加したWordPressバージョンタグを削除することを理解しています:

remove_action( 'wp_head', 'wp_generator' ); // goes into functions.php

しかし、テーマmetaタグを削除するにはどうすればよいですか?

16
John

meta="generator"を削除するだけの場合は、この行をfunctions.phpに追加します。

remove_action( 'wp_head', 'wp_generator' );
26
lmmendes

レイヤースライダーメタジェネレーターを削除するためのソリューションを探していましたが、私が見たいくつかのWebサイトにはあまり助けが見つかりませんでした。それらはすべて同じ情報を共有しており、どちらか一方のみに関連していますWordPress ジェネレーターまたはWooCommerceなどの一般的なプラグイン。

ここでの問題は、すべてのプラグインが独自のフック名と命名規則を持つことになるため、それらを学習または知ることはほとんど不可能です。私が考える最も簡単な方法は、単純なPHP with preg_replaceです。

WordPress 4.7.2でテストされた作業コード。あなたのテーマのfunctions.phpの内部がこのコードにドロップされ、動作するはずです。

//Remove All Meta Generators
ini_set('output_buffering', 'on'); // turns on output_buffering
function remove_meta_generators($html) {
    $pattern = '/<meta name(.*)=(.*)"generator"(.*)>/i';
    $html = preg_replace($pattern, '', $html);
    return $html;
}
function clean_meta_generators($html) {
    ob_start('remove_meta_generators');
}
add_action('get_header', 'clean_meta_generators', 100);
add_action('wp_footer', function(){ ob_end_flush(); }, 100);

正規表現を使用してmetaタグをキャプチャしています。等号の間にスペースを入れるかどうかをカバーします。 ob_startを使用してドキュメント全体をカバーします。そこで、ヘッダーからフッターまでpreg_replaceを追加します。 PHPマニュアルob_startがどのように機能するかを確認します。また、時々 WordPress codexob_startを使用する必要があると述べています。

これが便利であると思われる場合は、いいね!を追加して、次の人がすべてのメタジェネレーターをカバーする実用的なソリューションを見つけられるようにしてください。これらのプラグインとプラットフォームの開発者がコードにメタジェネレーターのバージョン番号を入れるのはセキュリティが悪いと思います。特に進化し続ける脆弱性は常に発見されています。

WordPressリポジトリでこれとまったく同じことを行うプラグインも追加しました。

メタジェネレーターの削除

15
webbernaut

functions.phpファイルの下部に、次のphpスニペットを追加します。

// hide the meta tag generator from head and rss
function disable_version() {
   return '';
}
add_filter('the_generator','disable_version');
remove_action('wp_head', 'wp_generator');
4
IvanRF

番号!

テーマのテンプレート(header.phpなど)にハードコードされている場合は、手動で削除する必要があります。

それ以外の場合は、この完全なソリューションを使用して、すべてのバージョンタグを削除します。

// ============ removing inbuilt WP meta-tag ===========  http://stackoverflow.com/q/16335347/2377343  ========== //
  //if included in wp_head
    add_action( 'after_setup_theme', 'my_wp_version_remover' ); function my_wp_version_remover(){
        remove_action('wp_head', 'wp_generator'); 
    }
  //clean all responses from VERSION GENERATOR
    add_filter('the_generator',             'rm_generator_filter'); 
    add_filter('get_the_generator_html',    'rm_generator_filter');
    add_filter('get_the_generator_xhtml',   'rm_generator_filter');
    add_filter('get_the_generator_atom',    'rm_generator_filter');
    add_filter('get_the_generator_rss2',    'rm_generator_filter');
    add_filter('get_the_generator_comment', 'rm_generator_filter');
    add_filter('get_the_generator_export',  'rm_generator_filter');
    add_filter('wf_disable_generator_tags', 'rm_generator_filter');
                                    function rm_generator_filter() {return '';}
// ========================================================== //
3
T.Todua

自動生成されたWPメタタグを削除することを示すプラグインの this ソースコードを見つけました。それを試すことができます。

  • プラグイン名:削除WP Meta
  • プラグインURI: http://leekelleher.com/
  • 説明:このプラグインは、自動生成されたWPメタタグを各Webページから削除します。
  • 作成者:Lee Kelleher
3
user850010

最近この問題に遭遇し、クライアントのセキュリティとスパムの理由からメタタグを削除する必要がありました。 Wordpressのメタジェネレーターを削除できましたが、テーマはwooフレームワークを使用しているため、

_remove_action('wp_head', 'wp_generator');
_

十分ではありません削除する

_<meta name="generator" content="Woo Framework Version x.x.x" />
_

そして、あなたのテーマが生成するあらゆるメタジェネレータタグは、この行をテンプレートのfunctions.phpの最後に追加するだけです。

_// remove the unwanted <meta> links
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'woo_version'); 
_

これは、Woo Framework 5.5.5で動作しました。ジェネレーターメタタグが初期化される場所を見つけるには、テンプレートの_admin-init.php_ファイルを探します。woo_version()関数とwoo_version_init()関数がそこにあるはずです。通常は、テーマソース内のincludeフォルダーの下にあります。

2

WPメタとバージョンの削除を削除するプラグインは次のとおりです: https://wordpress.org/plugins/wp-meta-and-version-remover/

1
Maulik Kotak

次のコードは、Wooフレームワーク内のすべてのジェネレータータグを削除します。私はWoo Framework 6.0.4とテーマCanvas 5.8.3でテストしました:

// Remove the WooThemes version from the html headers
function no_woo_version ()
{
   return true;
}
add_filter ('wf_disable_generator_tags', 'no_woo_version');
1
Helge Klein

OuwカスタムWordPressテーマを作成した場合、メタのジェネレーターには問題はありません。samllサンプルのiのように実行してください。ジェネレーターはありません。いくつかのように宣言しないと、カスタム関数のすべてです。テーマのすべてのJSスクリプトとスタイルを制御しようとします ここのように

しかし、無料のテーマを使用する場合、はい、100%にジェネレーターがあります。したがって、ファイルFunction.php 1 に追加します: http://sierra-group.in.ua/start-legkogo-rezhima-preprocesornoj-sborki-vashih-fajlov-stilej-i- skriptov.html /#custom-register-styles-sctiprs

function disable_version() { return '';}
add_filter('the_generator','disable_version');
remove_action( 'wp_head', 'wp_generator');
remove_action('wp_head', 'woo_version'); 
function no_woo_version (){   return true;}
add_filter ('wf_disable_generator_tags', 'no_woo_version');