Até agora, ambas as respostas 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 funções de plug-in às vezes) que se conectam the_content
; portanto, se você fizer isso:
$content = apply_filters('the_content', $post->post_content);
você está executando o conteúdo da postagem por meio de filtros nos the_content
quais é incluído wpautop()
por padrão.
Por fim, se você estiver no circuito, basta fazer o seguinte:
$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 melhor. Atualização 1 de setembro de 2018: revisada com base no comentário . Props @timmb.
Geralmente, eu diria que o "caminho certo" preferido para fazer isso é do último ao primeiro, pois o uso de uma função principal do WP deve permitir maior 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 plug-ins também modifiquem o conteúdo da postagem. Se for esse o caso, use definitivamente as 2ª ou 3ª opções.
$content = apply_filters('the_content', get_the_content);
?