0

我之前在 SO 上提出了一个问题,以获得有关特定类别问题的最后 5 个帖子的帮助。这已解决,但出现了一个新问题,并且仅在我使用简码时才明显。

问题

使用下面的代码,当我将简码添加到我的一个页面时,它会在页面底部添加一个“留下回复”框。我关闭了评论,并且当不使用简码时,网站上的“留下回复”不明显 - 它仅在我添加简码时发生,这让我相信问题与下面的 PHP 代码有关添加到我的functions.php。

编码

function Last5posts()   {
    $args = array( 'showposts' => 5, 'cat' => '3');                  
    $last_5_posts_query = new WP_Query( $args );
    while($last_5_posts_query->have_posts()) : 
    $last_5_posts_query->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>';
    $content .= '<p class="excerpt">' .get_the_excerpt(). '</p>';
    $content .= '</div>';
endwhile;

return $content;
}

add_shortcode('Last5Posts', 'Last5posts' );
4

2 回答 2

2

该问题是由“showposts”被贬低引起的,将其替换为“post_per_page”,一切都很好。

于 2013-03-30T01:38:47.633 回答
0

您在代码中使用自定义 WP_Query。当您在查询中调用 the_post() 时,全局 $post 变量会发生变化。因此,在您的简码方法之后运行的代码将与您的新 $post 值一起使用。

在 endwhile 之后添加 wp_reset_postdata 应该没问题。

于 2013-03-29T19:19:51.927 回答