WordPressで出力されるソース内のhtmlコメントを一括で削除する ( 特定のコメントは表示させることも可能 )

概要説明

html内のソースのコメントを削除するためのカスタマイズ。制作時にわかりやすくするためにコメントを残しますが閲覧する人にとっては不要な情報であり、ユーザーに見られたくない情報などが含まれる場合もあります。意味のあるコメントもあるため不要なコメントだけを一括で削除するテクニックです。

functions.php
/*----------------------------------------------------
 表示前にフックして出力テキストを置換する
----------------------------------------------------*/
if ( !function_exists( 'final_processing_replace' ) ){
    if ( !is_admin() ) {
        function final_processing_replace($buffer) {
            // IE判定用のコメントは除外してコメントを削除
            $buffer = preg_replace('/<!--[^\[]*?-->/','',$buffer);

            // 他にも処理したい内容がある場合はここに追加

            return $buffer;
        }

        function buf_start() { ob_start('final_processing_replace'); }
        function buf_end() {
            if( ob_get_length() ){
                ob_end_flush();
            }
        }

        add_action('after_setup_theme', 'buf_start');
        add_action('shutdown',          'buf_end');
    }
}

IE判定用のコメントを考慮しない場合

// 全コメントを削除したい場合
$buffer = preg_replace('/<!--[\s\S]*?-->/','',$buffer);

出力前にフックして処理を実行という処理を複数定義して実行させるとエラーになる場合があるので他にも削除、置換したい処理がある場合は1つの処理内で複数記述を行うことをおすすめします。

htmlソースを確認して残したいコメント、表示したいコメントを確認

<meta charset="UTF-8">
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
<meta name="viewport" content="width=device-width">
<meta name="format-detection" content="telephone=no">

<!–[if IE]><meta http-equiv=”X-UA-Compatible” content=”IE=edge”><![endif]–>

がソースに内で確認できて他のコメントが非表示になっていたら成功です。

IE用のコメントを除外しておくことで表示させたいコメントの制御が行えます

<!--[SIDE_START]-->~<!--[SIDE_END]-->

[]を使用するとコメントの削除対象にならないため表示させたいコメントを残すことが出来ます。意図的にスクレイピングしやすいようにといった時には上記のような対応を行う場合があります。

他にも処理したい内容の補足 ( タブ、改行の削除 )

functions.php
// 他にも処理したい内容がある場合はここに追加
$buffer = str_replace("\t",'',$buffer);       // タブ削除
$buffer = str_replace("\n\n","\n",$buffer);   // 2回改行を1回に変更

上記のように他にも整形したい内容があれば記述を追加します

WordPress Developer Resources

関連機能

  1. WordPress 画像をリファラ判定を行い自サイトからのみ表示可能にする&PHPファイルの直接参照を禁止

  2. iframe埋め込みを禁止してクリックジャッキング攻撃を防ぐ

  3. WordPress 6.5 にバージョンアップした際に行った対応手順まとめ (プラグインも合わせてバージョンアップ)

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

今ここで限界を超えろ
それしか道はねぇ

ブラッククローバー
by ヤミ・スケヒロ

Profile

PAGE TOP
Amazon プライム対象