如何在wordpress中显示特定类别的帖子

时间:2017-01-03 20:18:08

标签: php wordpress

嘿伙计我有一个代码,它提供了来自特定类别的5个最近的帖子。这是

    function postsbycategory() {
// the query
$the_query = new WP_Query( array( 'category_name' => 'news', 'posts_per_page' => 5 ) ); 

// The Loop
if ( $the_query->have_posts() ) {
    $string .= '<ul class="postsbycategory widget_recent_entries">';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
            if ( has_post_thumbnail() ) {
            $string .= '<li>';
            $string .= '<a href="' . get_the_permalink() .'" rel="bookmark">' . get_the_post_thumbnail($post_id, array( 50, 50) ) . get_the_title() .'</a></li>';
            } else { 
            // if no featured image is found
            $string .= '<li><a href="' . get_the_permalink() .'" rel="bookmark">' . get_the_title() .'</a></li>';
            }
            }
    } else {
    // no posts found
}
$string .= '</ul>';

return $string;

我所做的是上面的代码显示了从1到5的特定类别的最近帖子,但我想显示从2到6的最近帖子。为了更好地解决这个问题,例如 假设我有一个名为Pizza的类别,在该类别中我有10个帖子命名 发布1 发布2 邮政3 发布4 发布5 发布6 发布7 发布8 发布9 发布10 因此,如果我将以上代码应用到我的主页,它将显示来自Pizza类别的帖子 发布1 发布2 邮政3 发布4 发布5 但我想要这个 发布2 邮政3 发布4 发布5 发布6

是的,我希望该代码开始显示来自2的帖子而不是1。所以如何做到这一点。 请帮帮我,我不是网站开发人员。

1 个答案:

答案 0 :(得分:1)

只需在循环中添加一个计数器($ i)并拉出前6个帖子,使用计数器跳过第一个帖子进行检查。

function postsbycategory() {
// the query
$the_query = new WP_Query( array( 'category_name' => 'news', 'posts_per_page' => 6 ) ); 

$i=1;
// The Loop
if ( $the_query->have_posts() ) {
$string .= '<ul class="postsbycategory widget_recent_entries">';
while ( $the_query->have_posts() ) {
    $the_query->the_post();
    if($i>1){
        if ( has_post_thumbnail() ) {
        $string .= '<li>';
        $string .= '<a href="' . get_the_permalink() .'" rel="bookmark">' . get_the_post_thumbnail($post_id, array( 50, 50) ) . get_the_title() .'</a></li>';
        } else { 
        // if no featured image is found
        $string .= '<li><a href="' . get_the_permalink() .'" rel="bookmark">' . get_the_title() .'</a></li>';
        }
        }
        ++$i;
        }
} else {
// no posts found
}
$string .= '</ul>';

return $string;
}