2017-06-05 66 views
0

我有一些問題與標準WP功能get_the_author_meta()。我在我的項目中使用它來顯示作者的社交鏈接,但我總是得到一個空變量。get_the_author_meta()不工作的WP

這是我在文章頁面代碼:

$author_name = get_the_author();//not empty 
    $author_info = get_the_author_meta('description');//not empty 
    $author_website = get_the_author_meta('url');//empty 

    $author_facebook = get_the_author_meta('facebook');//empty 
    $author_twitter = get_the_author_meta('twitter');//empty 
    $author_google = get_the_author_meta('google');//empty 
    $author_linkedin = get_the_author_meta('linkedin','7');//also empty whit this desperate attempt 
    $author_instagram = get_the_author_meta('instagram',7);//also empty whit this desperate attempt 

我一個作者的所有社會關係的文章進行測試。 我有沒有PHP的沒有JS錯誤。 我安裝了cimy用戶額外的字段。

+0

你爲什麼不先轉儲筆者的數據,看看是否這些領域都是有擺在首位。 – TurtleTread

+0

的var_dump(get_the_author_meta()); //串(0) 「」 \t的var_dump(get_the_author_meta(7)); //串(0) 「」 \t的var_dump(get_the_author_meta( '7')); //串( 0)「」 非常普遍的一點是,所有這些字段都存在並且在數據庫中不是空的。 –

+0

東西告訴我您正在使用插件將這些社交鏈接添加到作者。根據法典,返回空字符串的字段是無效字段。 https://codex.wordpress.org/Function_Reference/the_author_meta –

回答

0

首先,你這裏有一個額外的逗號$ author_facebook = get_the_author_meta(的Facebook',); //空

我猜這是在複製粘貼錯誤,否則你會得到一個非常特殊的「意外的標記」錯誤。有了這個例外,你的代碼應該工作。出於以下兩個原因,您可能會收到此錯誤:

  1. 您用於添加用戶元的插件工作不正常。
  2. 頁面的實際撰文/後沒有元數據正確設置。

此代碼爲我工作,嘗試只是爲了測試:

$user_id = get_the_author_meta('ID'); 
add_user_meta($user_id, 'facebook', 'https://facebook.com'); 

var_dump($user_id); 
var_dump(get_the_author_meta('facebook')); 

// Output: string(20) "https://facebook.com" 

你之前提到的,你可以看到下usermeta在DB社交媒體的聯繫,所以我的猜測是,目前的作者帖子/頁面沒有設置社交媒體鏈接。在代碼的var_dumps上,您將看到用戶標識。在數據庫中查找表usermeta與該用戶ID的所有條目,並且您會注意到該特定用戶沒有自定義元。

+0

非常感謝你的解釋。現在我終於得到完整的過程。我也有一個額外的錯誤: - 我替換「** **谷歌」與「** ** GOOGLEPLUS」 –

+0

很高興我能幫助! –