按特定类别获取帖子列表

时间:2013-12-09 作者:1.21 gigawatts

我正试图在WordPress中用PHP构建一个搜索查询,我需要获得特定类别中特定作者的所有帖子,包括草稿。

例如,是否可以执行“状态=草稿,作者=12,类别=7”之类的操作?

此外,我还没有找到显示如何构建WordPress查询的页面。

注意:我正在使用JSON-API 插件及其使用get_search_results 方法由于“cat=1”和“author=1”不会返回结果,但“demo”和其他常见关键字会返回帖子,因此不清楚这是否是完整的类似于WP\\u查询的搜索。

2 个回复
SO网友:Sabita Sahoo

如果您有author_id, post_statuscat_id 和你在一起。

global $wpdb;

$author_id = 1;

$cat_id = 1;

$post_status = \'publish\';

/*  Post Titles  */

$search_titles = $wpdb->get_col(        
                "SELECT DISTINCT post_title 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)
                WHERE $wpdb->posts.post_status = \'$post_status\'
                AND $wpdb->posts.post_type = \'post\'
        AND $wpdb->posts.post_author = $author_id
                AND $wpdb->term_taxonomy.taxonomy = \'category\'
                AND $wpdb->term_taxonomy.term_id = $cat_id"        
)

SO网友:Subharanjan

<?php 
$args = array(
    \'posts_per_page\'   => -1,
    \'cat\'              => 7,
    \'orderby\'          => \'post_date\',
    \'order\'            => \'DESC\',
    \'post_type\'        => \'post\',
    \'post_status\'      => array(\'publish\', \'draft\', \'pending\' ),
    \'author\'           => 1,
); 

$postslist = get_posts( $args );
foreach ( $postslist as $post ) :
  setup_postdata( $post ); ?> 
    <div>
        <?php the_date(); ?>
        <?php the_title(); ?>   
        <?php the_excerpt(); ?>
    </div>
<?php
endforeach; 
wp_reset_postdata();
?>
将类别id替换为“cat”,将作者id替换为“author”,然后进行检查。参考:http://codex.wordpress.org/Class_Reference/WP_Query

结束

相关推荐

自定义wp_Query在索引页和类别页上不同

我一直在用手撞墙,想弄明白这一点。有人能向我解释一下为什么这个自定义wp\\U查询会产生两个不同的sql语句,一个用于索引页(正确),另一个用于类别页(错误)function myFunction( $category ) { if(!$category) return; $query = array( \'post_type\' => \'download\', ); $query[