Как получить посты с помощью wpdb?

Решено

Скажите как можно получить посты не используя wp_query? Есть ли какие нибудь альтернативные способы кроме get_post? Я слышал что можно получать данные напрямую из базы, и для это существуют специальные функции в вордпресс. Если я правильно понимаю то работать нужно с wpdb. Можете привести пример запроса в базу данных wp для получения простых постов(записей)?

Добавить Комментарий
Ответ

Пример запроса для получения постов:

 $querystr = "
 SELECT $wpdb->posts.*
 FROM $wpdb->posts, $wpdb->postmeta
 WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id
 AND $wpdb->postmeta.meta_key = 'tag'
 AND $wpdb->postmeta.meta_value = 'email'
 AND $wpdb->posts.post_status = 'publish'
 AND $wpdb->posts.post_type = 'post'
 AND $wpdb->posts.post_date < NOW()
 ORDER BY $wpdb->posts.post_date DESC
 ";
$pageposts = $wpdb->get_results($querystr, OBJECT);
 

В данном примере мы получим записи содержащие произвольное поле tag с ключем email, находящиеся в статусе «опубликовано», и отсортированы по дате.

Более подробно смотрите в кодексе: Displaying Posts Using a Custom Select Query

Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.