Wordpress中的短代码导致Openserver死亡

时间:2016-03-16 08:34:49

标签: php wordpress shortcode

所以我在Wordpress中有一个自定义PHP页面,显示一些内容:

<? while(have_posts() ) : the_post(); ?>
  <?the_content();?>
<? endwhile; ?>

我需要显示与此内容相关的新闻列表,因此我写了一个短代码:

function generate_program_news(){
 $news_args = array( 'posts_per_page' => 5, 'cat' => 4);
 $news_query = new WP_Query($news_args);
 $news_data;
 while( $news_query->have_posts() ) {
   $news_date = get_permalink();
   $news_title = the_title();
   $news_data = "<a>" .$news_date. ": " .$news_title. "</a>";
 }
 wp_reset_postdata();
 return $news_data;
}

add_shortcode('program_news','generate_program_news');

但是当我添加[program_news]短代码并尝试访问我使用它的页面时,整个网站都会消失,直到我重新启动OpenServer。我做错了什么?

1 个答案:

答案 0 :(得分:1)

while( $news_query->have_posts() )

你必须输入

$news_query->the_post();