在Wordpress博客页面上仅显示一个类别

时间:2018-01-09 04:19:40

标签: php wordpress blogs

我做了很多搜索,但似乎无法使用我的特定代码获得任何结果。我想知道如何才能使这个WordPress博客循环只显示183类的帖子。

<?php // Display blog posts on any page
$temp = $wp_query; $wp_query= null;
$wp_query = new WP_Query(); $wp_query->query('posts_per_page=10' . 
'&paged='.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

4 个答案:

答案 0 :(得分:1)

如果您不想包含该类别的任何子级,则您已经可以将添加到查询中的帖子限制为仅使用类别ID 183,如果您不希望包含该类别的任何子级:

$query = new WP_Query( array( 'category__in' => 183 ) );

或者像这样,如果你想包括这个类别的孩子:

$query = new WP_Query( array( 'cat' => 183 ) );

有关详细信息,请查看this

答案 1 :(得分:0)

尝试以下示例,您可以从两个代码中获得结果。

&#13;
&#13;
<ul class="posts">
	<?php query_posts('cat=5'); while (have_posts()) : the_post(); ?>
		<li><a href='<?php the_permalink() ?>'><?php the_title(); ?></a></li>
	<?php endwhile; ?>
	
	<?php wp_reset_query(); ?>
</ul>
&#13;
&#13;
&#13;

-------------或--------------

&#13;
&#13;
<?php
$current_cat_id  = '10';
$showposts = 10;
$args = array('cat' => $current_cat_id, 'orderby' => 'post_date', 'order' => 'DESC', 'posts_per_page' => $showposts,'post_status' => 'publish');
query_posts($args);
    if (have_posts()) : while (have_posts()) : the_post(); ?>      
    <div class="timeline">
    <h3><?php the_title(); ?></h3>
    <?php the_content();?>
    <?php endwhile; else: ?>
    <?php _e('No Posts Sorry.'); ?>
    <?php endif; ?>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

你可以这样做。

<?php // Display blog posts on any page
$temp = $wp_query; $wp_query= null;
$wp_query = new WP_Query( array('cat'=>183,'posts_per_page'=>10);
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

答案 3 :(得分:0)

您在哪里添加了代码?您是否为博客创建了模板?
您最好在pre_get_posts上添加查询修改  而不是搞乱全球$wp_query 例如

function _modify_blog_query( $query ) {

    // Run only on the blog page
    if ( $query->is_home() && $query->is_main_query() ) { 

        // Additional Query here
        $query->query_vars['cat'] = 183; 
        $query->query_vars['posts_per_page'] = 10; 
    }

}

// hook the the function on pre_get_posts
add_action( 'pre_get_posts', '_modify_blog_query' );