コメントのHTMLを無効にするのエントリを書きましたが、どうやらこれだけでは困ったこともあるようです。。。
【WordPress】 コメント欄のカスタマイズ(その2)こちらのサイトで書かれていましたが、<重要>のような文字列が不正なタグと認識され、取り除かれるようです。
この不正と思われるタグを取り除いているのが、ksesライブラリになります。
そこで、今回はこのksesライブラリの処理を無効化し、コメント欄に入力されたままの文字をDBに保存するようにしたいと思います。
function.php
に下記の6行を追加するだけです。
何もサニタイズされずにDBに保存されます。<script>
タグなど危険なタグもそのまま登録されてしまうため、表示時に必ずサニタイズを行ってください。
PHP
function remove_kses_filter( $data ) {
remove_filter( 'pre_comment_content', 'wp_filter_post_kses' );
remove_filter( 'pre_comment_content', 'wp_filter_kses' );
return $data;
}
add_filter( 'pre_comment_content', 'remove_kses_filter', 1);
[AD]