是否可以在wordpress插件中循环?
我创建了这个插件,利用wordpress循环来获取有关我的自定义帖子类型的事件中的帖子的一些信息:
function getEventsFeed() {
$args = array( 'post_type' => 'events' );
$loop = new WP_Query( $args );
$htmlOutput = '<h2>Events</h2>';
while ( $loop->have_posts() ) : $loop->the_post();
$date = get_post_meta($post->ID, 'events_0');
$location = get_post_meta($post->ID, 'events_9');
$htmlOutput .= '<tr><td>' . the_title() . '</td><td>' . $date[0] . '</td><td><a href="' . get_bloginfo('url') . '/event/?id='. $post->ID . '">' . $post->post_title .'</a></td><td>' . $location[0] . '</td></tr>';
endwhile;
$htmlOutput .= '</div>';
echo $htmlOutput;
}
问题只是返回了the_title信息。 $ post在循环内无效,因此不会返回$ post-&gt; ID和$ post-&gt; post_title。我在另一个页面模板中使用这个确切的代码,它正确地返回所有数据。我不确定为什么在插件中使用它时它不会返回。
有什么想法吗?
答案 0 :(得分:3)
尝试添加
global $post;
到你的功能的开头。 $ loop-&gt; the_post()将设置全局$ post变量,但在函数范围内不可用。