Оба ответа пока верны, но более тщательный ответ кажется оправданным.
Если вы используете это:
$content = wpautop( $post->post_content );
вы применяете одну функцию, которая добавляет теги абзаца для публикации контента. wpautop()
это одна из многих функций (включая временные функции плагинов), к которым можно подключиться the_content
, поэтому если вы сделаете это:
$content = apply_filters('the_content', $post->post_content);
вы получаете содержимое публикации через любые фильтры, the_content
которые включают wpautop()
по умолчанию.
Наконец, если вы находитесь в цикле, вы можете просто сделать это:
$content = apply_filters( 'the_content', get_the_content() );
который по сути является оберткой для второго фрагмента кода, но, конечно, он выглядит немного лучше. Обновление 1 сентября 2018 года: пересмотрено на основе комментариев . Реквизит @timmb.
Как правило, я бы сказал, что предпочтительный «правильный» способ сделать это - от последнего к первому, поскольку использование основной функции WP должно обеспечить более обратную совместимость (теоретически, по крайней мере). Единственное другое решение, которое следует принять, это то, хотите ли вы, чтобы WordPress и плагины также модифицировали содержимое публикации. Если это так, обязательно используйте 2-й или 3-й варианты.
$content = apply_filters('the_content', get_the_content);
?