remove_filter(‘the_excerpt’, ‘wpautop’)を記述してるにもかかわらず、抜粋にPタグが挿入されてしまう場合

functions.php内でremove_filter(‘the_excerpt’,’wpautop’);を記述して、抜粋にPタグが自動挿入されないようにしているかかわらず、抜粋にPタグが挿入されてしまうという現象が起こりました。

原因は「Inline Javascript Plugin」プラグインでした。「Inline Javascript Plugin」の更新履歴によると

= 0.6 =
1. works in the excerpt box
1. fix minor bug

と書かれており、抜粋内でも動作するようになったようです。
確かに「Inline Javascript Plugin」のソースを見ると[php]function inline_autop($content) {
global $_inline_autop;

$str = str_replace(array(‘[inline]’, ‘[/inline]’), ”, $content);
if($str != $content)
$_inline_autop = false;

if($_inline_autop) {
$content = wpautop($content);
$content = wptexturize($content);
$content = convert_chars($content);
}

return $content;
}
//中略
if($_inline_excerpt) {
remove_filter(‘the_excerpt’, ‘wpautop’);
remove_filter(‘the_excerpt’, ‘wptexturize’);
remove_filter(‘the_excerpt’, ‘convert_chars’);

add_filter(‘excerpt_save_pre’, ‘inline_save_pre’, 0);
add_filter(‘the_excerpt’, ‘inline_javascript’, 99);
add_filter(‘the_excerpt’, ‘inline_autop’, 1);

add_filter(‘excerpt_edit_pre’, ‘inline_save_pre’);
}[/php]
と書かれておりthe_excerptが同プラグイン内で上書きされている様子が伺えます。

解決方法としては

  • 「Inline Javascript Plugin」プラグインを使用しない
  • add_filter(‘the_excerpt’, ‘inline_autop’, 1);をコメントアウトする

などの方法がありそうです。

スポンサーリンク