Hasta ahora, ambas respuestas son correctas, pero parece justificada una respuesta más completa.
Si usas esto:
$content = wpautop( $post->post_content );
estás aplicando la única función que agrega etiquetas de párrafo al contenido de la publicación. wpautop()
es una de las muchas funciones (incluidas las funciones de los complementos a veces) que se engancha en the_content
, así que si haces esto:
$content = apply_filters('the_content', $post->post_content);
está obteniendo que el contenido de la publicación se ejecute a través de cualquier filtro en the_content
que incluye wpautop()
de forma predeterminada.
Finalmente, si estás en el circuito, puedes hacer esto:
$content = apply_filters( 'the_content', get_the_content() );
que es esencialmente una envoltura para el segundo fragmento de código, pero, por supuesto, tiene un aspecto más agradable. Actualización 1 de septiembre de 2018: Revisado basado en comment . Props @timmb.
En general, diría que la "forma correcta" preferida para hacer esto es desde la última hasta la primera, ya que el uso de una función central de WP debería permitir una mayor compatibilidad con versiones anteriores (teóricamente, al menos). La única otra decisión que tomar luego 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 la segunda o tercera opción.