Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 试图在Wordpress的自定义化身函数中获取非对象通知的属性_Php_Wordpress - Fatal编程技术网

Php 试图在Wordpress的自定义化身函数中获取非对象通知的属性

Php 试图在Wordpress的自定义化身函数中获取非对象通知的属性,php,wordpress,Php,Wordpress,下面的自定义化身功能工作正常,但我得到以下通知 “正在尝试获取…中非对象的属性” 通知说问题出在我粘贴在这里的函数的最后一部分——我在代码中标记了它(查找ID; }else if(is_object($id_或_email)){ 如果(!空($id\u或\u email->id)){ $id\u或\u email=$id\u或\u email->id; } 如果(!空($id\u或电子邮件->评论\u作者\u电子邮件)){ $user=get\u user\u by('email'、$id\u或

下面的自定义化身功能工作正常,但我得到以下通知

“正在尝试获取…中非对象的属性”

通知说问题出在我粘贴在这里的函数的最后一部分——我在代码中标记了它(查找
ID;
}else if(is_object($id_或_email)){
如果(!空($id\u或\u email->id)){
$id\u或\u email=$id\u或\u email->id;
}
如果(!空($id\u或电子邮件->评论\u作者\u电子邮件)){
$user=get\u user\u by('email'、$id\u或\u email->comment\u author\u email);
$id\u或\u email=$user->id;是,因为可能会失败并返回false。此时,您将没有wp user对象。围绕此代码的测试将是:

if ($user = get_user_by('email', $id_or_email->comment_author_email)) {
    $id_or_email = $user->ID; 
} else {
    //Whatever you want to do when this lookup fails
    $id_or_email = 0;
}
当你跑的时候

$user = get_user_by('email', $id_or_email->comment_author_email);

在尝试获取下一行的id之前,您应该检查
$user
的值。根据,如果找不到用户,则可能为false。

$user
不是对象…因此根据定义(在PHP中)它不能包含引用为
ID
的属性。
$user
设置在哪里?@martin-一切都是可能的,但我无法解决你的参考页面url的问题…我已经搜索了类似的问题,但到目前为止没有找到任何结果。因此我需要帮助。如果有人帮助我,那就太棒了。你是认真的吗告诉我你还不知道如何解决你的问题?对不起,我应该在一开始就直接把这个答案联系起来,而不仅仅是问题可能的重复
$user = get_user_by('email', $id_or_email->comment_author_email);