仅含类别的WPDB查询问题

时间:2013-05-14 作者:mr. x

我正在尝试从分类ID为18的帖子中查询我正在使用的插件,但它不起作用。我不能使用query_postsWP_Query 在我使用这个的地方。

global $wpdb;
$posts = $wpdb->get_results( "SELECT ID, post_title, post_content, post_date
    FROM $wpdb->posts
    LEFT JOIN $wpdb->term_taxonomy
    ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
    WHERE $wpdb->term_taxonomy.term_id = 18
    AND $wpdb->term_taxonomy.taxonomy = \'category\'
    AND post_status = \'publish\'
    AND post_type = \'post\'      

    ORDER BY post_date DESC
    LIMIT 25" );

1 个回复
最合适的回答,由SO网友:Angela 整理而成

这是一个SQL问题。您的查询错误。您忘记在查询中包括term\\u relationships表,但在联接期间引用了它。通过包含term\\u relationships表,可以解决查询问题。

SELECT ID, post_title, post_content, post_date
  FROM {$wpdb->posts} AS p
  JOIN {$wpdb->term_relationships} AS tr
  ON tr.object_id = p.id
  JOIN {$wpdb->term_taxonomy} AS tt
  ON tt.term_taxonomy_id = tr.term_taxonomy_id
  WHERE tt.term_id = 18
  AND tt.taxonomy = \'category\'
  AND post_status = \'publish\'
  AND post_type = \'post\'      
  ORDER BY post_date DESC
  LIMIT 25

结束

相关推荐

从wpdb-作者/用户目录页面选择

我正在wordpress网站上工作,在那里我创建了一个目录页面(authors.php),其中列出了所有用户和特定的作者元。它工作得很好,但我正试图找出如何只显示填写了所需作者元的用户。我尝试了很多不同的事情,但都没有达到我所需要的。这是我的密码<?php $order = \'user_nicename\'; $users = $wpdb->get_results(\"SELECT * FROM $wpdb->users ORDER BY $order\");