wp_kses
すみません。最初に書いておくとエスケープじゃなくて除去です。
で、特定のタグを除去したくない場合は wp_kses というのを使います。
まずは除去しないタグを指定してあげましょう。
何度も使用する可能性がある場合は function.php に書いておくといいと思います。
functions.php
$allowed_html = array( 'a' => array( 'href' => array (), 'target' => array() ), 'br' => array(), );
a,brを除去しないという設定ですね。
たとえば抜粋を表示するにはテンプレートファイルで下記のようにします。
<?php echo wp_kses(get_the_excerpt(), $allowed_html) ?>
あらかじめ設定したタグだけ使用できるようにする
WordPressには投稿欄にはあらかじめタグが使用できるように設定してあるわけですが、その設定をそのまま使用できれば楽ですよね。
投稿に使用されているホワイトタグは「wp_kses_allowed_html(‘post’)」で取得できます。
$allowed_html = wp_kses_allowed_html('post'); echo wp_kses(get_the_excerpt(), $allowed_html);
wp_kses_allowed_htmlに指定できる引数は「post/user_description/pre_user_description/strip/entities/data」です。