shiro99さん、こんにちは。
禁句を出力時に消すといった処理ならば、下記のようにthe_contentでフィルタリングすることはできます。(下記の例は、コメントのブラックリストを本文に適用した例)
function check_banned_words( $content ) {
$banned_words = trim( get_option( 'blacklist_keys' ) );
if ( ! empty($banned_words ) ) {
$banned_words = explode( "\n", $banned_words );
foreach ( $banned_words as $key => $word ) {
$banned_words[$key] = '/' . preg_quote( trim( $word ), '/' ) . '/i';
}
$content = preg_replace( $banned_words, '', $content );
}
return $content;
}
add_filter( 'the_content', 'check_banned_words' );
ただし、このフィルタリング方式には少々問題があり、fooという禁句を設定した場合、footなどにマッチしてしまい、tだけが残るといった事態になります。英語などのように単語を切り分けやすい言語はまだ良いのですが、日本語は文字が連続しているため、上記のような問題がつねにつきまといます。
また、当て字たや絵文字など逃げ道がいくらでも存在するため、際限がありません。
あまりに問題化しているようなら、サイトの運用方法から考えた方がよいかもしれません。
jim912様 ありがとうございます
テーマフォルバの
function.php に書けば良いですか?
例えば、fooという禁句を設定したい場合
‘blacklist_keys’ を ’foo’
と書けばよいのでしょうか
すみませんが、宜しくお願いします
すみません、しっかり読んでませんでした
解決しました
ありがとうございました