我已经开发了一个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/

10-13 01:46