WordPress:如何查询特定类别的帖子

时间:2014-05-09 18:41:23

标签: wordpress wordpress-theming

我正在使用WordPress 3.8。我想从特定类别获取查询帖子。为此,我使用了以下代码

<?php query_posts('post_type=post&category_id=3&post_status=publish&posts_per_page=10&paged='. get_query_var('paged')); ?>
            <?php if(have_posts()) : ?>
            <?php while (have_posts()) : the_post(); ?>        

                  <h2><?php the_title(); ?></h2>
                  <p><?php the_content(); ?></p> 

            <?php endwhile; ?>    
            <?php endif; ?>

我收到所有帖子而不是特定类别。这段代码有什么问题。

2 个答案:

答案 0 :(得分:0)

category_id = 3应该只是cat = 3

<?php query_posts('post_type=post&cat=3&post_status=publish&posts_per_page=10&paged='. get_query_var('paged')); ?>
        <?php if(have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>        

              <h2><?php the_title(); ?></h2>
              <p><?php the_content(); ?></p> 

        <?php endwhile; ?>    
        <?php endif; ?>

答案 1 :(得分:0)

通常避免使用query_posts,因为它正在改变主循环内的全局变量。 您可以使用get_posts()

<?php


$args = array( 'posts_per_page' => 5, 'offset'=> 1, 'category' => 1 );

$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>

         <h2><?php the_title(); ?></h2>
             <p><?php the_content(); ?></p> 

<?php endforeach; 
wp_reset_postdata();?>

获取1是类别ID的帐户(查看您有兴趣在数据库中获取的类别的ID)

Here您会找到更多信息