get_the_author_meta()没有在wp上工作

时间:2017-06-05 18:26:47

标签: php wordpress

我在使用标准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没有js错误。 我安装了cimy用户额外字段。

1 个答案:

答案 0 :(得分:0)

首先你在这里有一个额外的逗号$ author_facebook = get_the_author_meta(' facebook',); //空

我猜这是复制粘贴中的一个错误,否则你会得到一个非常具体的意外令牌'错误。除此之外,您的代码应该可以运行。您可能会遇到此错误有两个原因:

  1. 您用于添加用户元的插件无法正常工作。
  2. 页面/帖子的实际作者没有正确设置元数据。
  3. 这段代码对我有用,试试这只是为了测试:

    $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下看到数据库上的社交媒体链接,因此我的猜测是帖子/页面的当前作者没有设置社交媒体链接。在代码的var_dumps上,您将看到用户ID。在DB上查找具有该用户ID的表usermeta的所有条目,您将注意到该特定用户没有自定义元。