根据类别限制WordPress中显示的帖子数量

时间:2012-09-07 19:32:51

标签: wordpress

我有一个显示最新帖子的WordPress网站。它们的输出设计看起来类似于:

http://tienvooracht.nl/themes/elevate/

包含四行内容的三列。以下是我无法弄清楚的部分 - 如何在不考虑类别的情况下提取最新帖子,但限制每行显示的数量?

  

示例:我有类别,摄影,网页设计和UI设计。   我碰巧连续写了5篇关于摄影的帖子,但我不想要   我最近的所有帖子都是关于摄影的。

是否可以限制显示单个类别中的帖子数量,并在达到此限制后显示其他类别的其他帖子?

3 个答案:

答案 0 :(得分:1)

要限制特定类别的帖子,请使用此代码。

<?php
global $post;
$args = array( 'numberposts' => 5, 'category' => 3 );


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

<?php the_title(); ?>
<?php the_content(); ?>

<?php endforeach; ?>

更改类别ID和帖子限制数量......

答案 1 :(得分:0)

这个限制是静态的吗?总是一样的。如果是这样,您可以在WordPress的阅读设置中进行设置。在主循环之前添加变量$ x = 0;然后在循环中添加$ x ++;然后只需添加第二个查询。

<?php

$defaultPostsPerPage = 12;

$sndary = $defaultPostsPerPage - $x;

if($sndary > 0){
$y=0;
$args = array('post_type'=>'post','post_per_page'=>12);

$showcase = new WP_Query( $args );

if ( $showcase->have_posts() ) { while ( $showcase->have_posts() ) { $showcase->the_post(); ?>
<!-- post html css goes here as you would any other loop -->
<?php 
    if($y%4==0){ 
        //add some sort of css line break, clear fix or last class on the element. to break to the new line. 
    }
} ?>
<!-- post navigation -->
<?php }else{ ?>
<!-- no posts found -->
<?php }

}

这里我们检查主查询中有多少帖子,如果他们在每页最大值下我们可以添加我们的二级查询。这里唯一要注意的是我们没有考虑分页,但这不是问题的一部分。

答案 2 :(得分:0)

<?php
/* create categories array  and pass id of categories from which we want to show the       posts*/
$categories=array(4,5,3);
foreach($categories as $cat){
    global $post;
    /* limit numberposts, here  specified 2  and pass the categories   dynamically in args array*/
    $args=array('numberposts' =>2, 'category' =>$cat);
    $myposts=get_posts($args);
    foreach($myposts as $mypost){
            echo "<h1>".$mypost->post_title."</h1>   ".$mypost-   >post_content."   ".$mypost->post_modified;
            echo "<br />";
    }
}

&GT;