WP_QUERY是哪种对象类型?

时间:2011-05-06 作者:supertrue

当我尝试从WP\\U查询返回post\\U标题值时,出现此错误:

**Fatal error:** Cannot use object of type WP_Query as array
代码如下:

$query = new WP_Query( array( \'meta_key\' => \'Old ID\', \'meta_value\' => $atts[\'oldid\'] ) );
return $query[\'post_title\'];
在此查询之后,如何显示帖子的元素?我使用WP\\u查询是因为我正在制作一个短代码,以便在帖子和页面中使用。

2 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

我不确定你是否理解WP_Query. 这里是一个代码示例,而不是用文字进行解释;

$query = new WP_Query( array( \'meta_key\' => \'Old ID\', \'meta_value\' => $atts[\'oldid\'] ) );
if ( $query->have_posts() )
    return $query->posts[0]->post_title;

return \'\';
退房the codex on interacting with WP_Query.

UPDATE: 要像往常一样使用查询,即。The Loop;

<?php if ( $query->have_posts() ) : ?>

    <?php while ( $query->have_posts() ) : $query->the_post(); ?>

        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

    <?php endwhile; ?>

<?php endif; ?>
<?php wp_reset_postdata(); ?>

SO网友:Bainternet

您得到的错误意味着您正在使用对象作为数组,如果您想访问对象元素,请使用-> 而不是[] 所以$query->post_title

但这也行不通,你需要在帖子上循环

while ($query->have_posts()){
    $query->the_post();
    //here you can use the post data with the $post object
    //$post->post_title
    //$post->content
    //....
}

结束

相关推荐

当我试图停用任何插件时,它会给出错误“WARNING:CALL_USER_FUNC_ARRAY()[Function.Call-User-Func-ARRAY]”

当我尝试取消激活任何插件时,它会出错。如何解决这个问题?插件被取消激活,但单击按钮“Deactivate”时,我收到此错误。警告:call\\u user\\u func\\u array()[函数.call user func array]:第一个参数应该是有效的回调,“youtuber\\u uninstall”在/home/username/public\\u html/wp includes/plugin中给出。php在线395**