我已经开发了一个wordpress插件,可以在网站的每个页面的开头插入一个JS脚本。当有评论时,我试图将几个变量传递给脚本(在PHP中),例如名称,电子邮件和评论作者的网站。
我尝试使用get_comment_author(),get_comment_author_url()和get_comment_author_email(),但即使在发表评论时我只是输入了姓名,网站和邮件地址,它也始终返回“匿名”。
这是代码:
add_action('wp_head', 'insert_script');
function insert_script(){
$name = get_comment_author();
$website = get_comment_author_url();
$email = get_comment_author_email();
echo " <script type='text/javascript'>
var _gigo= _gigo || {};
_gigo['firstname'] = '' ;
_gigo['lastname'] = '".$name."' ;
_gigo['company'] = '".$website."' ;
_gigo['email'] = '".$email."' ;
</script>";
}
您知道为什么函数会返回匿名作者吗?我该如何解决?
提前致谢。
最佳答案
在this页上可以看到,您需要为该函数提供一个ID,或者它必须位于循环内。因为这两种情况都不成立,所以它返回anonymous
。
描述
检索当前评论的作者。如果评论的评论字段为空,则假定为“匿名”人。该功能旨在驻留在WordPress循环中。
Usage
<?php $author = get_comment_author( $comment_ID ); ?>
要通过帖子获取评论,可以使用get_comments()功能。您可以按以下方式使用它:
<?php
global $post; // get the current post
$postId = $post->ID; // get the current post ID
$comments = get_comments('post_id=' . $postId); // This gets all comments from current post
?>
您可以检查the link如何使用下面的输出。
如果仍不清楚,请告诉我。
关于javascript - WordPress-get_comment_author()返回匿名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25627526/