Ambas respuestas hasta ahora son correctas, pero parece justificada una respuesta más exhaustiva.
Si usa esto:
$content = wpautop( $post->post_content );
está aplicando la única función que agrega etiquetas de párrafo para publicar contenido. wpautop()
es una de las muchas funciones (incluidas las funciones de complemento a veces) que se conecta the_content
, así que si haces esto:
$content = apply_filters('the_content', $post->post_content);
obtienes que el contenido de la publicación se ejecute a través de cualquier filtro the_content
que incluya wpautop()
de forma predeterminada.
Finalmente, si estás al tanto, puedes hacer esto:
$content = apply_filters( 'the_content', get_the_content() );
que es esencialmente un contenedor para el segundo fragmento de código, pero, por supuesto, es un poco más bonito. Actualización 1 de septiembre de 2018: revisada en base a comentarios . Atrezzo @timmb.
En general, diría que la "forma correcta" preferida para hacerlo es de último a primero, ya que el uso de una función WP central debería permitir una mayor compatibilidad con versiones anteriores (en teoría, al menos). La única otra decisión que debe tomar es si desea permitir que WordPress y los complementos también modifiquen el contenido de la publicación. Si ese es el caso, definitivamente use las opciones segunda o tercera.
$content = apply_filters('the_content', get_the_content);
?