Wordpress разбирает wp_posts.post_content перед рендерингом? - PullRequest
2 голосов
/ 11 июня 2010

Я заметил, что когда я вызываю функцию the_post () или the_content () из моего шаблона WordPress, он автоматически анализирует данные базы данных, чтобы заменить новые строки на <br/>, оборачивает текст тегами <p> и т. Д.Возможно, в the_post () или the_content () есть какая-то функция «format».

Я написал запрос, чтобы напрямую получать сообщения из wp_posts.Затем я распечатываю его как

<?php
$results = $wp->get_results($sql)
foreach($results as $row) echo $row->post_content; ?>

Очевидно, что эти данные не анализируются функцией «форматирования» wordpress.Как правильно вывести этот контент, чтобы он выполнял те же функции «форматирования», что и the_post () или the_content ()?

Ответы [ 2 ]

9 голосов
/ 11 июня 2010

@ dpelletier правильно, и вы можете просто применить эту функцию к строке $row->post_content.

Если вы хотите, чтобы WordPress делал все, что обычно делает с контентом, включая wpautop и анализ короткого кода, используйте;

$content = apply_filters('the_content', $row->post_content);
1 голос
/ 11 июня 2010

Существует функция с именем wpautop().

Добавляет только <p> и <br/>, поэтому я не уверен, есть ли другая функция форматирования, которая могла бы делать что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...