2017-06-05 12 views
0

標準のwp関数get_the_author_meta()にいくつか問題があります。著者のソーシャルリンクを表示するために私のプロジェクトで使っていますが、私はいつも空の変数を取得しています。ここでwpでget_the_author_meta()が動作しない

は、記事ページに私のコードです:

$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にno 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) "" 非常に厳しいのは、これらのフィールドがすべて存在し、DBでは空ではないということです。 –

+0

プラグインを使用してこれらのソーシャルリンクを著者に追加しています。空の文字列を返すフィールドは、Codexでは有効ではありません。 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には、ユーザーIDが表示されます。そのユーザーIDでテーブルusermetaのすべてのエントリをDB上で検索すると、その特定のユーザーのカスタムメタがないことがわかります。

+0

ありがとう、説明のために。今や私は最終的に完全なプロセスを得る。また、余分なエラーがあります: - 「** googleplus **」の「** google **」の代わりに –

+0

私はお手伝いできます! –

関連する問題