【问题标题】:Shortcode in Wordpress causes Openserver deathWordpress 中的简码导致 Openserver 死机
【发布时间】:2016-03-16 08:34:49
【问题描述】:

所以我在 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。我做错了什么?

【问题讨论】:

  • 什么是“消亡”?我在 return 语句中看到语法错误:return $news-data; 应该是 return $news_data;
  • @ksno 它没有打开任何页面,并且在另一个选项卡中打开的 WP 管理面板显示“丢失与服务器的连接”。抱歉return中的变量,在实际代码中是正确的,所以这不是问题的原因。

标签: php wordpress shortcode


【解决方案1】:
while( $news_query->have_posts() )

你必须输入

$news_query->the_post();

【讨论】:

  • 天哪,真是个愚蠢的错误。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-11
  • 2022-01-20
相关资源
最近更新 更多