2014-09-02 77 views
0

我開發了一個wordpress插件,在網站的每一頁的頭部插入一個JS腳本。我試圖在發表評論時將一些變量傳遞給腳本(使用PHP),例如名稱,電子郵件和評論作者的網站。WordPress的 - get_comment_author()返回匿名

我試圖使用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>"; 
} 

你知道爲什麼函數返回一個匿名作者,我怎麼能解決呢? 在此先感謝。

回答

1

如可在this頁面上看到的那樣,您需要爲該函數提供一個ID,或者它需要在循環中。因爲在你的情況下都不是這樣,它返回anonymous

說明 檢索當前評論的作者。如果評論具有空的comment_author字段,則假定「匿名」人員。這個功能是爲了住在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:你可以按如下方式使用它。

如果這仍然不清楚,讓我知道。

+0

嗨@Sander Koedood,謝謝你的回答。我如何檢索評論ID?我已經看到有一個函數,get_comment_ID(); ,但它似乎並沒有「獨立工作」。例如,用戶留下評論,給他的姓名電子郵件和地址,我如何檢索他剛剛發佈的評論的ID? – zdev 2014-09-02 16:07:52

+0

我不得不看到代碼能夠回答我害怕。 – 2014-09-03 16:40:14

+0

以下是整個插件的要點: https://gist.github.com/anonymous/6e5043b5a4e95cf2d679 – zdev 2014-09-04 12:29:47