Wordpress - get_comment_author()返回匿名

时间:2014-09-02 15:53:36

标签: javascript php wordpress wordpress-plugin

我开发了一个wordpress插件,可以在网站的每个页面的头部插入一个JS脚本。我正在尝试将一些变量传递给脚本(在PHP中),例如评论作者的姓名,电子邮件和网站,当有评论时。

我尝试使用get_comment_author(),get_comment_author_url()和get_comment_author_email(),但它总是返回“Anonymous”,即使我在发布评论时输入了名称,网站和邮件地址。

以下是代码:

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>";
}

你知道为什么函数会返回一个匿名作者以及我如何修复它? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

this页面可以看出,您需要为该功能提供ID,或者需要在循环内部。因为在你的情况下都不是,所以它返回anonymous

  

描述   检索当前评论的作者。如果评论中有一个空的comment_author字段,那么&#39; Anonymous&#39;假设是人。这个函数意味着生活在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如何使用后面的输出。

如果仍然不清楚,请告诉我。