用于主题的PHP代码在移动到插件

时间:2018-01-25 14:01:22

标签: php wordpress widget customization

我是新手,刚刚开始使用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'];
}

0 个答案:

没有答案