如何获取社交媒体URL的用户元数据?

时间:2019-07-03 作者:sansae

有人知道如何在wordpress后端访问用户元数据吗?我想看看是否有;用户\\(linkedin、instagram、facebook等)\\u url;。我正在处理一个自定义php文件,其中有一个名为$data的arr,它是这样创建的:

        $fields = [
            \'headshotID\' => \'medicus-headshot\',
            \'firstname\' => \'first_name\',
            \'lastname\' => \'last_name\',
            \'title\' => \'medicus-title\',
            \'biography\' => \'medicus-biography\',
            \'address1\' => \'medicus-address1\',
            \'address2\' => \'medicus-address2\',
            \'city\' => \'medicus-city\',
            \'state\' => \'medicus-state\',
            \'zip\' => \'medicus-zip\',
            \'phone\' => \'medicus-phone\',
        ];
        
        foreach ($doctors as $doctor) {
            $data = [];
            
            foreach ($fields as $key=>$val) {
                $data[$key] = get_user_meta($doctor->ID, $val, true);
            }
对于$字段中的键值对,似乎(我猜)是;“值”;是用户元数据表中的关键字名称,该表包含以下每个wordpress文档:ID、user\\u login、user\\u pass、user\\u nicename、user\\u email、user\\u url、user\\u registered、user\\u activation\\u key、user\\u status和display\\u name(https://developer.wordpress.org/plugins/users/working-with-user-metadata/)

我已经登录到phpmyadmin,查看了wp\\u用户和wp\\u元数据表,没有看到社交媒体url的任何列。

此用户元数据表是否与存储$字段中的值的位置相同?如果是,用户的社交媒体信息是否也有价值?我试图显示用户在社交媒体上的信息,特别是他们个人资料的url。是否有一个;用户\\u linkedin\\u url“;,或“或”;user\\u instagram\\u url“;,或者类似的?

我遇到了这个post, 但这并没有多大帮助。也许我错过了什么。

在我附加的用户wp后端映像中,您将看到该用户的信息。我试图显示用户的社交媒体url,比如他们的instagram url。我该怎么做?

enter image description here

UPDATE (mods和其他更有经验的开发人员,在你认为合适的地方编辑。我觉得分享这些信息对wordpress开发新手很有帮助,应该与社区分享)

1年更新(yikes)。回答我自己的问题:

此用户元数据表是否与存储$字段中的值的位置相同

如果是,用户的社交媒体信息是否也有价值是的,如果有专门保存用户社交媒体信息的meta\\u键。在我的例子中,“instagram”和“facebook”有实际的meta\\u键。登录PhpMyAdmin后,我执行了以下查询:SELECT*FROMwp_usermeta 在哪里meta_key= "E;facebook“;,果然,出现了一系列结果,显示用户有facebook信息。

是否有;用户\\u linkedin\\u url“;,或“或”;user\\u instagram\\u url“;,或者类似的在那里can 如果您创建自定义字段并为其指定那些meta\\u键名称,则可以。然而,在我的特殊情况下,那些meta\\u密钥并不存在。这些meta\\u密钥分别被称为“linkedin”和“instagram”。

1 个回复
最合适的回答,由SO网友:Bikram 整理而成

使用get_user_meta( $user->ID, \'facebook\' , true );

但让我澄清一下,社交媒体领域都不是WP的核心领域。您正在使用Yoast SEO,这些字段是Yoast SEO功能。仅供参考:我从您的截图中看到了Yoast SEO。

它们存储在wp_usermeta 以小写形式的社交媒体名称作为键的表。例如,Facebook URL另存为facebook 键,Instagram URL另存为instagram 钥匙

我还将其误解为核心WPusermeta 字段。

此外,这些字段也可能来自其他插件,所以进行插件停用测试以找出update_user_meta().

相关推荐