1

我正在尝试显示来自特定类别的最后 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(); 

任何帮助将不胜感激。

4

3 回答 3

2

您可以使用如下代码

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

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

于 2013-03-29T05:57:11.260 回答
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; 
?>
于 2014-04-11T11:52:45.613 回答
1

看看这个:查询帖子参数;您绝对应该使用“猫”而不是类别。另外,您是否以“endwhile”结束您的“while”?你的完整代码现在是什么样子的?

于 2013-03-29T05:29:48.320 回答