检查评论作者是否已注册

时间:2015-01-01 作者:vyperlook

这应该很简单,但我尝试了一些代码,没有一个能奏效。在谷歌上搜索,也没有任何内容。只需检查注释作者是否是注册用户(以便我可以为其添加一些代码),如果未注册,则不显示任何内容。

这应该可以做到if( empty($comment_author_nickname) && empty($comment_author_email) ) 但我不知道如何获得这些信息

非常感谢。

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

我想知道你是不是指这种支票:

if( $comment->user_id > 0 ) {
    // Registered comment author
} 
在评论的模板回调中。

这是在wp-comments-post.php 文件:

$commentdata = compact(\'comment_post_ID\', ..., \'user_ID\' );
$comment_id = wp_new_comment( $commentdata );
但不清楚user_ID 变量来自,因为该文件中未定义此变量。

这实际上是在提取全局变量$user_ID$GLOBALS[\'user_ID\'] 在我们背后;-)

SO网友:Pieter Goosen

我认为没有任何安全可靠的方法可以做到这一点。老实说,这也是我不希望看到的

我最担心的是

任何人都可以输入与已注册会员的详细信息相匹配的虚假电子邮件或昵称

通过这样做,未注册用户可以访问已注册成员的详细信息

您将使用什么方法将输入评论表的信息与您所有注册会员的信息进行匹配

解决方案要做到这一点,最好也是最安全的方法是,如果用户已经注册,则提示其登录。除此之外,正如我所说,我看不到任何其他安全可靠的方法来实现这一点

结束