循环将无法在我的插件中工作

时间:2012-02-22 10:45:54

标签: wordpress wordpress-plugin

是否可以在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。我在另一个页面模板中使用这个确切的代码,它正确地返回所有数据。我不确定为什么在插件中使用它时它不会返回。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

尝试添加

global $post;

到你的功能的开头。 $ loop-&gt; the_post()将设置全局$ post变量,但在函数范围内不可用。