Qual é a maneira correta de escrever essa declaração condicional?

Gostaria de remover a formatação automática ‘wpautop’ de páginas específicas. Aqui está o que eu tenho, mas isso não parece funcionar:

if ( is_page ( 'services' ) ) { remove_filter( 'the_content', 'wpautop' ); remove_filter( 'the_excerpt', 'wpautop' ); }; 

Eu sou bastante novo para o php, fiz algumas pesquisas para ver como escrever essa afirmação, mas tive problemas para encontrar um exemplo que atenda minha necessidade. Qual seria a maneira correta de escrever essa declaração condicional?

Solutions Collecting From Web of "Qual é a maneira correta de escrever essa declaração condicional?"

Você precisa adicionar sua function no gancho template_redirect . Você precisa primeiro aguardar o wordpress para terminar de carregar as páginas antes de poder adicionar seu gancho para remover o wpautop , caso contrário o seu gancho simplesmente será atropelado. Então, sua function será assim

 function pietergoosen_remove_wpautop() { if ( is_page ( 'services' ) ) { remove_filter( 'the_content', 'wpautop' ); remove_filter( 'the_excerpt', 'wpautop' ); } } add_action( 'template_redirect', 'pietergoosen_remove_wpautop' ); 

Aqui está o que encontrei com base nessa questão em Stack Overflow

Você terá que remover o wpautop inteiramente, depois adicioná-lo novamente sempre que necessário, o que eu concordo no comentário vinculado, é infeliz:

 remove_filter('the_content', 'wpautop'); remove_filter('the_excerpt', 'wpautop'); /** Change How The Content Works **/ function no_content_autop($content){ global $post; if($post->post_type != 'services') return wpautop($content); return $content; } add_filter('the_content','no_content_autop'); /** Change How The Excerpt Works **/ function no_excerpt_autop($content){ global $post; if($post->post_name != 'services') return wpautop($content); return $content; } add_filter('the_excerpt','no_excerpt_autop'); 

A questão é antiga, então você pode querer assistir esta questão por um dia ou dois e ver se alguém vem com uma resposta melhorada.