我在使用标准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用户额外字段。
答案 0 :(得分:0)
首先你在这里有一个额外的逗号$ author_facebook = get_the_author_meta(' facebook',); //空
我猜这是复制粘贴中的一个错误,否则你会得到一个非常具体的意外令牌'错误。除此之外,您的代码应该可以运行。您可能会遇到此错误有两个原因:
这段代码对我有用,试试这只是为了测试:
$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的所有条目,您将注意到该特定用户没有自定义元。