获取$ wp_query->帖子var_dump中的数组值

时间:2016-11-10 02:43:04

标签: php arrays wordpress

我有以下代码:

$posts = $wp_query->posts;
foreach($posts as $post){
    var_dump($post);
}

这将获取正在运行的查询的所有帖子并显示所有帖子信息。 var_dump看起来像这样:

object(WP_Post)#84 (24) { 
    ["ID"]=> int(1190) 
    ["post_author"]=> string(1) "1" 
    ["post_date"]=> string(19) "2016-10-20 14:17:55" 
    ["post_date_gmt"]=> string(19) "2016-10-20 03:17:55" 
    ["post_content"]=> string(0) "" 
    ["post_title"]=> string(21) "Chilled water systems" 
    ["post_excerpt"]=> string(0) "" 
    ["post_status"]=> string(7) "publish" 
    ["comment_status"]=> string(6) "closed" 
    ["ping_status"]=> string(6) "closed" 
    ["post_password"]=> string(0) "" 
    ["post_name"]=> string(21) "chilled-water-systems" 
    ["to_ping"]=> string(0) "" 
    ["pinged"]=> string(0) "" 
    ["post_modified"]=> string(19) "2016-10-21 11:23:49"
    ["post_modified_gmt"]=> string(19) "2016-10-21 00:23:49" 
    ["post_content_filtered"]=> string(0) "" 
    ["post_parent"]=> int(1182) 
    ["guid"]=> string(48) "http://siteurl.com" 
    ["menu_order"]=> int(0) **
    ["post_type"]=> string(4) "page"** 
    ["post_mime_type"]=> string(0) "" 
    ["comment_count"]=> string(1) "0" 
    ["filter"]=> string(3) "raw" 
}

我想知道如何从var_dump中获取post_type值。 (粗体文字)我试过:

print_r($post['post_type']);
print_r($post[0]['post_type']);

1 个答案:

答案 0 :(得分:2)

试试这个:

echo $post->post_type

更多详情:

如果订购输出,您可以看到:

object(WP_Post)#84 (24)
{
["ID"]=> int(1190) 
["post_author"]=> string(1) "1" 
["post_date"]=> string(19) "2016-10-20 14:17:55" 
["post_date_gmt"]=> string(19) "2016-10-20 03:17:55" 
["post_content"]=> string(0) "" 
["post_title"]=> string(21) "Chilled water systems" 
["post_excerpt"]=> string(0) "" 
["post_status"]=> string(7) "publish" 
["comment_status"]=> string(6) "closed" 
["ping_status"]=> string(6) "closed" 
["post_password"]=> string(0) "" 
["post_name"]=> string(21) "chilled-water-systems" 
["to_ping"]=> string(0) "" 
["pinged"]=> string(0) "" 
["post_modified"]=> string(19) "2016-10-21 11:23:49" 
["post_modified_gmt"]=> string(19) "2016-10-21 00:23:49" 
["post_content_filtered"]=> string(0) "" 
["post_parent"]=> int(1182) 
["guid"]=> string(48) "http://siteurl.com" 
["menu_order"]=> int(0) 
["post_type"]=> string(4) "page" 
["post_mime_type"]=> string(0) "" 
["comment_count"]=> string(1) "0" 
["filter"]=> string(3) "raw"
}

您有一个对象,并且要访问对象的字段,您必须使用->,因此,您可以使用$post->post_type作为帖子类型目标。

完整代码:

$posts = $wp_query->posts;
foreach($posts as $post){
    var_dump($post->post_type);
}