在多个自定义帖子类型上禁用wpautop

时间:2016-01-19 04:32:26

标签: php wordpress

我试图找出在4种自定义帖子类型中禁用wpautop的最佳方法。

我正在使用此代码段:

add_filter( 'the_content', 'wp1_remove_autop_for_posttype', 0 );

    function wp1_remove_autop_for_posttype( $content )
{

'esh' === get_post_type() && remove_filter( 'the_content', 'wpautop' );
return $content;
} 

我还需要删除名为menu,op,external的自定义帖子类型。我只是复制并粘贴它并更改功能名称或有更清洁的方法吗?

智慧赞赏!谢谢!

1 个答案:

答案 0 :(得分:1)

你可以使用你需要删除CPT的所有wpautop制作数组,然后在此钩子中执行:

$cpts = ['esh', 'menu', 'op', 'external'];
if ( in_array( get_post_type(), $cpts ) ) { 
    remove_filter( 'the_content', 'wpautop' );
}

如果您想自动抓取CPTs,可以查看此功能get_post_types()。例如,如果您要遍历所有CPTs

$cpts = get_post_types(['_builtin' => false, 'public' => true], 'names');

当然,您可以使用其他参数来选择您想要循环的所需类型。