调试“WP_Query类的对象无法转换为int”错误

时间:2016-03-09 作者:Naz

我看到PHP通知错误;

Notice: Object of class WP_Query could not be converted to int in G:\\.....\\property-search-form.php on line 350
在那一行,我有一个元查询,它使用代码创建一个新的WP\\u查询结果集;

$results = new WP_Query( $args );

if(($results == 0) || ($results == false) || ($results == NULL) || !is_object($results) || !($results->have_posts())) {
    return $results;
    }
else {
    return $results;
    }
我知道最终的$result是一个数字,当我用9个匹配的结果运行它并使用print\\r显示结果时,它返回9,所以不确定这个错误的含义以及如何解决它。

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

如果您的条件尝试将对象转换为无法转换的对象,则会出现问题。WP\\U查询返回WP_Query Object 所以当它被测试Object == 0 - 它尝试在比较期间将对象转换为数字,但无法。

相反,您需要测试$results->have_posts() 或其中一个it\'s properties 例如0 === $results->found_posts

相关推荐

500 Internal Errors

我正在将当前的Eduma主题更新为最新版本(3.0.9.1),目前的版本是3.0.7。我正在运行WordPress 4.7.5。但是,在运行更新时,我得到Update Failed: Internal Server Error 安装过程中的消息。所以我启动了这个过程,它运行了一分钟,然后它就停止了工作,我陷入了维护模式。所以我必须手动删除.maintenance 来自我的服务器的文件。我截图了我在错误中看到的内容。我在WordPress网站上运行了调试模式,这就是我所拥有的[31-May-2017 15: