2016-01-19 2 views
0

Я пытаюсь найти лучший способ отключить wpautop в 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; 
} 

мне также нужно удалить его для пользовательских типов почтовых именованных меню, оп, внешний. я просто копирую и вставляю это и меняю имя функции, или есть более чистый способ сделать это?

премудрость оценили! благодаря!

ответ

1

Вы можете сделать массив со всеми CPT, что вам нужно удалить wpautop из, а затем в этот крюк, чтобы сделать:

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

Вы можете проверить эту функцию get_post_types(), если вы хотите, чтобы захватить CPTs автоматически. Например, если вы хотите, чтобы перебрать все ваши CPTs:

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

или, конечно, вы можете поставить другие аргументы, чтобы выбрать необходимые типы, которые вы хотите перебрать.

Смежные вопросы