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リポジトリでこれとまったく同じことを行うプラグインも追加しました.
メタ ジェネレーターを削除する