Obtém post_content com tags p?

12

Estou tentando recuperar o conteúdo da postagem de uma postagem específica

$post = get_post(/* id */);
$content = $post->post_content;

No entanto, isso recupera o conteúdo sem quebras de linha. Eu notei isso porque omite tudo

tags.

Como posso recuperar o conteúdo com o

tags, como eu vejo na página de postagem e também na guia de texto do editor de postagem?

    
por Lisandro Vaccaro 16.10.2014 / 14:17

3 respostas

22

Ambas as respostas até agora estão corretas, mas uma resposta mais completa parece justificada.

Se você usar isso:

$content = wpautop( $post->post_content );

você está aplicando a única função que adiciona tags de parágrafo para postar conteúdo. wpautop() é uma das muitas funções (incluindo as funções do plug-in às vezes) que se conecta a the_content , portanto, se você fizer isso:

$content = apply_filters('the_content', $post->post_content);

você está recebendo o conteúdo da postagem por meio de qualquer filtro em the_content , que inclui wpautop() por padrão.

Por fim, se você estiver no circuito, basta fazer isso:

$content = apply_filters( 'the_content', get_the_content() );

que é essencialmente um invólucro para o segundo trecho de código, mas é claro que é um pouco mais bonito. Atualização 1 de setembro de 2018: Revisado com base em comentário . Props @timmb.

Geralmente, eu diria que o "caminho certo" preferido para fazer isso é do último para o primeiro, pois usar uma função principal do WP deve permitir mais compatibilidade com versões anteriores (teoricamente, pelo menos). A única outra decisão a ser tomada é se você deseja permitir que o WordPress e os plugins também modifiquem o conteúdo da postagem. Se for esse o caso, use definitivamente a segunda ou terceira opção.

    
por mrwweb 16.10.2014 / 17:11
4

Encontrou a solução:

$content = apply_filters('the_content', $post->post_content);
    
por Lisandro Vaccaro 16.10.2014 / 14:21
1

O segundo método para obter conteúdo de postagem com a tag p é

echo wpautop( $post->post_content );
    
por DINESH BHIMANI 16.10.2014 / 16:04