WP_Post 对象与 stdClass 对象

WP_Post Object vs stdClass Object

我有两个结果,一个是 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
)

使用 get_class($object) 获取对象的 class 名称,在您的情况下,这两个对象的 return stdClass 和 WP_Post

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

你可以尝试使用instanceof

像这样:

if($obj instanceof WP_Post)

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