我是新手,刚刚开始使用php代码。我正在构建侧边栏结构,应该通过小部件添加到页面,我使用插件添加自定义小部件。在开始时,我放在这里的代码工作时传入页脚,标题或任何属于主题的东西。但当我将它移动到我的自定义插件时,它显示了不同的结果:
if(have_posts()) {
$Cate = get_queried_object();
$related = get_posts( array(
'category__in' => $Cate->term_id,
'numberposts' => 8, ) );
if( $related ) echo ' <p>Posts in the same category:</p>';
foreach( $related as $post ) {
setup_postdata($post);
?><li> <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php ;}wp_reset_postdata()}
开头的结果:
同一类别的帖子:
- 运输市场描述
- 我们的竞争对手
- 交通概况
移动到自定义插件后的结果
同一类别的帖子:
- 运输市场描述
- 运输市场描述
- 运输市场描述
这3个是当前类别的帖子。当我回应&#34; var_dump($ post)&#34;在foreach循环中,它显示了当时$ post的正确信息。
这是我的插件内容(仅限主要内容)
// before and after widget arguments are defined by themes
echo $args['before_widget'];
if ( ! empty( $title ) )
echo $args['before_title'] . $title . $args['after_title'];
// This is where you run the code and display the output
if(have_posts()) {
$Cate = get_queried_object();
$related = get_posts( array(
'category__in' => $Cate->term_id,
'numberposts' => 8, ) );
if( $related ) echo ' <p>Posts in the same category:</p>'; foreach( $related as $post ) {
setup_postdata($post);
?><li> <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php ;wp_reset_postdata();}};
echo $args['after_widget'];
}