WordPressのコメント欄でhtmlタグを機能させない方法
WordPressのコメント欄でhtmlタグを機能させないようにする方法です。
通常のコメント欄は次の画像のようなhtmlタグが使えます。
コメント欄でhtmlタグを使えないように(タグとして機能せず、htmlタグをそのまま表示)するには、テーマの functions.php に次の関数を追加します。
1 2 3 4 5 6 7 8 9 10 |
<?php // コメントにhtmlタグを使った場合、そのまま表示する。 function html_comment_text($comment_content) { if ( get_comment_type() == 'comment' ) { $comment_content = htmlspecialchars($comment_content, ENT_QUOTES); } return $comment_content; } add_filter('comment_text', 'html_comment_text', 9); ?> |
上記変更を反映させて、ページを再読み込みし、コメントにタグを使ってみます。

コメント欄でhtmlタグを使ってみます。
上のように書き込んで、コメントを送信ボタンを押すと・・・

コメントはこのように表示されました。
コメント欄でhtmlタグを使えないようにできましたが、実はこのままでは行頭でhttpからはじまる文字列に<a>タグ(Anchorタグ)が自動的に付き、リンクが貼られてしまうんです。
この対策を含めて、次のように書くと良いでしょう。
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php // コメントにhtmlタグを使った場合、そのまま表示する。 function html_comment_text($comment_content) { if ( get_comment_type() == 'comment' ) { $comment_content = htmlspecialchars($comment_content, ENT_QUOTES); } return $comment_content; } add_filter('comment_text', 'html_comment_text', 9); // 自動リンク(Anchorタグ)を取り去る。 remove_filter('comment_text', 'make_clickable', 9); ?> |
先ほどのコメントからリンクをあらわすAnchorタグが取れました。
これで自動的にリンクのタグが付くこともなくなります。
最後に、コメントフォームの文言を修正しておきましょう。
長くなりますので、次のエントリー(WordPressのコメントフォームをカスタマイズしてみよう。)で。
WordPressのコメントフォームをカスタマイズしてみよう。 | Studio Kurara
2014/08/02 @ 00:02
[…] 前回のエントリーでコメント欄のhtmlタグを機能させない方法についてご説明しました。htmlタグが使えないのに、コメントフォームには使用可能なタグの説明が書かれたままです。 そこ […]