17

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

<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しかし、テーマタグを削除するにはどうすればよいですか?

4

10 に答える 10

28

削除するだけの場合は、この行をfunctions.phpmeta="generator"に追加してください。

remove_action( 'wp_head', 'wp_generator' );
于 2013-07-05T08:59:56.797 に答える
17

Layer Slider メタ ジェネレーターを削除するためのソリューションを探していましたが、私が見た少数の Web サイトのいずれにもあまり助けがありませんでした。それらはすべて、WordPressジェネレーターまたはWooCommerceなどの人気のあるプラグインにのみ関連する同じ情報を共有しています。

ここでの問題は、すべてのプラグインが独自のフック名と命名規則を持っているため、それらすべてを学習または知ることはほとんど不可能になることです. 私が考える最も簡単な方法は、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に機能するかを確認してください。ob_start

これが役に立つと思ったら、親指を立ててください。そうすれば、次に見ている人が、すべてのメタ ジェネレーターをカバーする実用的なソリューションにたどり着くことができます。これらのプラグインやプラットフォームの開発者がメタ ジェネレーターのバージョン番号をコードに入れるのは、セキュリティが悪いと思います。特に、進化する脆弱性が常に発見されています。

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

メタ ジェネレーターを削除する

于 2017-02-22T00:48:52.207 に答える
5

私は最近この問題に遭遇し、クライアントのセキュリティとスパムの理由からメタ タグを削除する必要がありました。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ファイルを探し、関数がそこにあるはずです。通常、テーマ ソース内の includes フォルダーの下にあります。woo_version()woo_version_init()

于 2015-03-06T17:54:20.950 に答える
4

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');
于 2013-12-09T14:09:34.620 に答える
3

自動生成されたWPメタタグを削除すると述べているプラ​​グインのソースコードを見つけました。あなたはそれを試すことができます。

  • プラグイン名: WP メタを削除
  • プラグイン URI: http://leekelleher.com/
  • 説明: このプラグインは、自動生成された WP メタ タグを各 Web ページから削除します。
  • 著者: リー・ケレハー
于 2013-05-02T12:55:27.467 に答える
1

次のコードは、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');
于 2014-09-12T12:42:36.047 に答える