Пользовательский запрос: несколько пользовательских типов записей

#mysql #sql #wordpress

#mysql #sql #wordpress

Вопрос:

У меня возникли некоторые проблемы с извлечением нескольких пользовательских типов записей из пользовательского запроса WordPress. Причина, по которой я создаю пользовательский запрос WordPress, а не использую query_posts or WP_query , заключается в том, что я сортирую свои записи на основе информации, добавленной плагином для голосования, и должен присоединиться к таблице этого плагина, поэтому встроенные запросы не являются вариантом.

Мой вопрос в том, как я могу включить несколько пользовательских типов записей в один запрос? В настоящее время мой запрос выглядит следующим образом:

 $query = "
    SELECT wposts.*
    FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
    WHERE wposts.ID         = wpostmeta.post_id
    AND wposts.post_status  = 'publish'
    AND wposts.post_type    = 'TWO_POST_TYPES'
    AND post_date       >= '$startdate'
    AND post_date       <= '$enddate'
    GROUP BY wposts.ID
    ";
  

Я пытаюсь поместить два разных пользовательских типа записей в wposts.post_type часть, которую мы можем назвать type1 и type2 . Что я уже пробовал, так это следующее, но безуспешно:

  1. array('type1', 'type2')
  2. 'type1, type2'

Я также пытался передать оба этих параметра в качестве переменных в запросе, но также безуспешно. Кто-нибудь сможет мне помочь?

Ответ №1:

Вы имеете в виду это?

 AND wposts.post_type IN ('type1', 'type2')
  

что на самом деле означает:

 AND ( wposts.post_type = 'type1'
   OR wposts.post_type = 'type2'
    )