如何将相同的模板文件与小部件和类别循环一起使用?

时间:2016-05-20 作者:Ajna Sarut

我写了一个小部件,我想使用位于“themename”/模板部件/内容中的类别模板。php”。

<?php
// Category.php  
while ( have_posts() ) : the_post();
get_template_part( \'content\', \'\' );
endwhile;
?>
在我的小部件中,我使用了$myposts=get\\u posts();我想在内容中使用这些数据。php模板。但我不知道传递这些数据的正确方式是什么。

我试过了,但没用。

<?php 
// Widget.php
$myposts = get_posts($another_array);
foreach($myposts as $post) {  
include(locate_template(\'template-parts/content.php\')); 
}
?>
和我的模板文件。

Post: <?php the_title(); ?>
Comment Count: <?php echo get_comments_number(); ?>
Url: <?php echo get_permalink(); ?>
我也这样试过了。但仍然不起作用。

Post: <?php the_title($post->ID); ?>
Comment Count: <?php echo get_comments_number($post->ID); ?>
Url: <?php echo get_permalink($post->ID); ?>

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

您需要设置postdata才能设置$post 全局,以便使模板标记可用于此操作

foreach ( $myposts as $post ) {
    setup_postdata( $post );

        get_template_part( \'content\' );

}
wp_reset_postdata();

相关推荐

WordPress Custom Post Loop

我正在尝试循环浏览自定义WordPress帖子,遇到了一个问题,比如我添加了自定义字段并想在中显示它<li> 使用循环。我成功地完成了操作,但数据/链接/类别正在重复,如果类别与以下内容相同,我希望只显示一次:如果我有2篇带有data1类别的帖子,那么链接将只显示data1once 但我有2个不同类别的帖子,然后它会分别显示每个帖子。Sample Code:<ul class="filter filter-top"> <li cla