WP_Post对象与stdClass对象

时间:2015-09-17 04:13:32

标签: php wordpress stdclass

我有两个结果,一个是WP_Post对象,另一个是stdClass对象。全部包含相同的数据。我如何区分它们?

结果1: -

WP_Post Object
(
    [ID] => 952
    [post_content] =>  
    [post_title] => 
    [post_excerpt] => 
    [post_status] => publish
    [comment_status] => open
    [ping_status] => open
)

结果2: -

stdClass Object
(
    [ID] => 952
    [post_content] =>  
    [post_title] => 
    [post_excerpt] => 
    [post_status] => publish
    [comment_status] => open
    [ping_status] => open
)

2 个答案:

答案 0 :(得分:2)

使用get_class($ object)获取对象的类名,在您的情况下,它将为相应的对象返回stdClass和WP_Post

请参阅php.net手册以获取更多详细信息http://php.net/manual/en/function.get-class.php

答案 1 :(得分:1)

您可以尝试使用instanceof

像这样:

if($obj instanceof WP_Post)

我不确定它是否是一种有效的方法,但我已经看到这在一些插件和项目中使用过。因此,作为一种可能的方法,它可能会起作用