コメント投稿時の自動変換(ksesライブラリ)を無効化する

コメントのHTMLを無効にするのエントリを書きましたが、どうやらこれだけでは困ったこともあるようです。。。
【WordPress】 コメント欄のカスタマイズ(その2)こちらのサイトで書かれていましたが、<重要>のような文字列が不正なタグと認識され、取り除かれるようです。

この不正と思われるタグを取り除いているのが、ksesライブラリになります。
そこで、今回はこのksesライブラリの処理を無効化し、コメント欄に入力されたままの文字をDBに保存するようにしたいと思います。

function.phpに下記の6行を追加するだけです。

注意
何もサニタイズされずにDBに保存されます。
<script>タグなど危険なタグもそのまま登録されてしまうため、表示時に必ずサニタイズを行ってください。
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);

コメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。