User_id错误:只应通过引用传递变量

时间:2018-06-26 作者:user2568633

获取函数文件中的错误,我无法确定如何修复该错误。错误是:

只能通过引用传递变量

对于以下行:

$user_id = get_comment(get_comment_ID())->user_id;
整个代码是:

$user_id = get_comment(get_comment_ID())->user_id;
$user = new WP_User( $user_id );
$user_roles = $user->roles;
$user_role = array_shift($user_roles);

if ($user_role == \'administrator\') {
    echo \'<div class="comment-tag admin-comment-tag">Admin</div><br>\';
} elseif ($user_role == \'contributor\') {
    echo \'<div class="comment-tag contributor-comment-tag">Contributor</div><br>\';
} else {
    echo \' \';
}

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

你的问题的答案就在Codex:

的第一个参数get_comment 功能是:

$comment - (整数)(必填)

要获取的评论的ID。You must pass a variable containing an integer (e.g. $id). A literal integer (e.g. 7) will cause a fatal error (Only variables can be passed for reference or Cannot pass parameter 1 by reference).

默认值:无

在代码中,您将函数结果作为这个参数传递,因此它不是一个变量,因此您会得到这个错误。

如何修复此问题?这很简单。。。只需在其中使用一个变量:

$comment_id = get_comment_ID();
$user_id = get_comment( $comment_id )->user_id;
或使用虚拟变量(如Codex所示):

$user_id = get_comment( $dummy = get_comment_ID() )->user_id;

结束

相关推荐

创建自定义php页面并将其加载到特定的插件

我和一个客户有一个痛苦的问题。他们需要从远程端点将提要加载到符合WordPress模板设计的页面中。。他们还希望在特定URL处显示页面例如myclient.com/we-want-it-here 我创建了加载提要的页面,可以包含页眉和页脚,,<?php define(\'WP_USE_THEMES\', false); require(\'path/to/my-wordpress-dir/wp-blog-header.php\'); get_