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 不正アクセス・攻撃の対象となっているかを簡単に確認する方法

  2. WordPressのバージョン情報を非表示にする

  3. WordPress 特定の固定ページだけreCAPTCHAを有効にする ( Contact Form 7使用 )

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

諦めないのが オレの魔法だ!!!!

ブラッククローバー
by アスタ

Profile

PAGE TOP
Amazon プライム対象