2010-06-07 1 views
0

Я использую следующий запрос для вывода всех ссылок из пользовательской таксономии. Он выводит все сообщения, помеченные как «http» из слова «таксономия».Исключить категорию из пользовательского таксономии

Я хотел бы исключить некоторые общие категории из вывода. Итак, fe. он выводит только ссылки в категориях СМИ и новостей. Какой был бы лучший способ достичь этого?

$wp_query->request = " 

SELECT DISTINCT * 

FROM $wpdb->posts 

LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = $wpdb->term_relationships.object_id) 

LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) 

LEFT JOIN $wpdb->terms ON($wpdb->term_taxonomy.term_id = $wpdb->terms.term_id) 

WHERE $wpdb->posts.post_type = 'post' 

AND $wpdb->posts.post_status = 'publish' 

AND $wpdb->term_taxonomy.taxonomy = 'words' 

AND $wpdb->terms.slug = 'http' 

ORDER BY $wpdb->posts.post_date DESC 

LIMIT $ppp OFFSET $offset"; 

$pagelinkposts = $wpdb->get_results($wp_query->request, OBJECT); 

ответ

0

Я как-то нашел решение самостоятельно, используя коды из другого плагина. Если кто-то хочет достичь того же, добавьте ниже, чем строку ORDER BY (и измените категории-теги на те, которые вы хотите включить.)

AND object_id IN 
      (
      SELECT object_id 
      FROM $wpdb->term_relationships AS r 
      JOIN $wpdb->term_taxonomy AS x ON x.term_taxonomy_id = r.term_taxonomy_id 
      JOIN $wpdb->terms AS t ON t.term_id = x.term_id 
      WHERE x.taxonomy = 'category' 
      AND t.term_id IN (category-ids))