在Dashboard中的用户配置文件中,我有一个“联系信息”部分,包含电子邮件、URL、aim、yahoo、jabber。我想构建一个小部件并在小部件中输出用户信息。我应该使用什么功能来获取用户的联系信息?
How to get user contact info
2 个回复
最合适的回答,由SO网友:Ben HartLenn 整理而成
听起来你在追求get_userdata() 作用
作为一个基本示例,您可以如下方式检索用户电子邮件:
<?php
if ( $user_id ) {
$user = get_userdata($user_id);
echo \'Users Email is: \' . $user->user_email;
}
?>
SO网友:Adam
如果您允许用户在不知道这些帐户是什么的情况下任意添加帐户you leave yourself open to problems.
说你有meta_key
对于调用的用户user_custom_social
您还提供了一个表单,允许用户添加帐户,例如,
Network Name URL
------------------- ----------
facecrooks ---> http://www.facecrooks.crooks/bob
mysocialwasteoftime ---> http://www.mysocialwasteoftime.com/bob
假设该用户不会拼写,如上所述,将Facebook拼写为Facecrooks。当您迭代这些自定义结果时,输出将是错误的。如果您还选择在其他地方显示此信息,则将显示相同的错误信息。
要检索这些值,您需要执行以下操作:,
$meta = get_user_meta($user_id, $meta_key);
foreach ($meta as $key => $value){
echo $key . \'=>\' . $value;
}
你最好的方法是先定义社交网络,这样他们可以从列表中进行选择。即使您决定为每个条目创建一个新的meta\\u键,您仍将面临相同的用户输入错误问题。
我会在一个下拉列表中定义自己的社交网络列表,并为其URL提供一个输入文本字段,然后使用,
您将从$_POST
除了$user_id
,
$meta_key = $_POST[\'network\']; //will match the value selected from the drop down
$meta_value = $_POST[\'url\'] //user entered input
然后,add_user_meta($user_id, $meta_key, $meta_value);
为了展示同样的交易,$meta = get_user_meta($user_id, $meta_key);
foreach ($meta as $key => $value){
echo $key . \'=>\' . $value;
}
结束