显示特定类别的最新5篇帖子(Wordpress)

时间:2013-03-28 23:39:46

标签: php wordpress function

我正在尝试显示特定类别中的最后5个帖子,这些帖子将链接到某个功能,因此我可以在Wordpress页面中插入短代码。我的代码如下所示,它可以完成我需要的所有内容(虽然我也想添加精选图片),但它不显示特定类别的帖子。

我尝试过很多东西,但找不到合适的修复方法。

function Last5posts()
{
    $args = array( "showposts" => 5, "category" => 3 ); 
    $content = "";   

    query_posts($args);

    if ( have_posts() ) : 

        while ( have_posts() ) :
            the_post();

            $link = get_permalink();
            $title = get_the_title();
            $date = get_the_date();                              

            $content .= "<div class='latest-posts'>";
            $content .= "<h3><a href='$link' target='_top'>$title / $date</a </h3>\n";
            $content .= "<p class='excerpt'>" . get_the_excerpt() . "</p>";
            $content .= "</div>";

        endwhile;

        wp_reset_query(); 

     endif;

     return $content;
}

add_shortcode('Last5Posts', 'Last5posts' );   

我尝试用下面的代码替换第3行和第4行,但它在第31行引发错误“语法错误,意外'}'。

$catquery = new WP_Query( 'cat=3&posts_per_page=10' );
while($catquery->have_posts()) : $catquery->the_post(); 

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

您可以使用下面的代码

query_posts( 'cat=3&posts_per_page=5' );

默认使用此wordpress将使用此代码后的最后5个帖子...

答案 1 :(得分:2)

使用此
$ catnames [1]表示你想要使用的与该帖子相关的类别。

<?php $catnames = get_the_category();  
$postcatid=$catnames[1]->term_id;

$catquery = new WP_Query( 'cat='.$postcatid.'&posts_per_page=4' );
while($catquery->have_posts()) : $catquery->the_post();
?>
<ul>
<li><h3><a href="<?php the_permalink() ;?>" rel="bookmark"><?php the_title(); ?></a>    </h3>
</li>
</ul>
 <?php endwhile; 
?>

答案 2 :(得分:1)

检查出来:query posts parameters;你绝对应该使用“猫”而不是类别。 另外,你是否以“endwhile”结束你的“while”? 您的完整代码现在是什么样的?