ワードプレス 自動で挿入される<P>を削除する方法で検索すると以下のようなコードが散見されます。
クライアントからサイトを紹介されて使用するように指示がありました。
でもこのコードどこか違和感が拭えません。
add_filter('the_content', 'wpautop_filter', 9);
function wpautop_filter($content) {
global $post;
$remove_filter = false;
$arr_types = array('post_type'); //autopを無効にする投稿タイプを配列として用意する
$post_type = get_post_type( $post->ID );
if (in_array($post_type, $arr_types)) $remove_filter = true;
if ( $remove_filter ) {
remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');
}
return $content;
}
そこで書き換えた
add_action('init', 'tn_remove_wpautop');
function tn_remove_wpautop() {
if( get_post_type() === 'ポストタイプ' )
remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');
}
投稿タイプが複数ある場合以下のように書き換えます。
add_action('init', 'tn_remove_wpautop');
function tn_remove_wpautop() {
$arr_types = array('ポストタイプ1', 'ポストタイプ2', ・・・);
$post_type = get_post_type();
if (in_array($post_type, $arr_types))
remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');
}