性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

删除/添加/调用WordPress用户个人资料的联系信息

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

如果你要折腾主题或者将WordPress站点开放注册,你可能需要自定义WordPress用户个人资料信息。下面倡萌将简单说一下如何删除、添加和调用自定义用户信息字段。

添加或删除字段,可以在主题的 functions.php 文件添加下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
 * 自定义用户个人资料信息
 * https://www.wpdaxue.com/add-remove-display-wordpress-user-profile-fields.html
 */
add_filter( 'user_contactmethods', 'wpdaxue_add_contact_fields' );
function wpdaxue_add_contact_fields( $contactmethods ) {
	$contactmethods['qq'] = 'QQ';
	$contactmethods['qm_mailme'] = 'QQ邮箱“邮我”';
	$contactmethods['qq_weibo'] = '腾讯微博';
	$contactmethods['sina_weibo'] = '新浪微博';
	$contactmethods['twitter'] = 'Twitter';
	$contactmethods['google_plus'] = 'Google+';
	$contactmethods['donate'] = '赞助链接';
	unset( $contactmethods['yim'] );
	unset( $contactmethods['aim'] );
	unset( $contactmethods['jabber'] );
	return $contactmethods;
}

以上代码通过 user_contactmethods 这个钩子添加了QQ等多个自定义字段,同时移除了 yim、aim和jabber,用法一目了然,就不多说,效果如下图所示:

user-profile-fields-wpdaxue_com

如果要调用上面的字段,只需要使用 the_author_meta() 或 get_the_author_meta() 这两个函数即可。

the_author_meta() 直接打印输出字段值

get_the_author_meta() 返回字段值给其他函数调用

注:一般而言,WordPress大多数函数都有类似这两种,一个带 get_ 前缀,一个没有,两者用法的区别如上所说。

比如我们要调用QQ字段,可以使用使用下面的代码:

1
2
3
4
5
6
<?php
//打印输出QQ字段的值
the_author_meta( 'qq' );
//或者下面的
echo get_the_author_meta( 'qq' );
?>

我们在实际使用的时候,最好先通过 IF 语句判断用户是否填写了 QQ 这个字段(即判断QQ字段是否存在值),如果填写了,就输出,否者不输出

1
2
3
<?php if ( get_the_author_meta( 'qq' ) ){
	echo '作者QQ:'.get_the_author_meta( 'qq' );
}

关于调用更多默认的字段,建议大家自己参考 the_author_meta()get_the_author_meta()

注:在没有指定用户ID等明确信息时,以上两个函数只能在循环(Loop)内才能正常使用。

推荐阅读:

如何获取WordPress当前用户信息

WordPress用户资料添加自定义用户头像功能

支付宝扫码打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

MetInfo | 最适合企业网站建设的cms系统

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

精彩推荐

WP_Query 参数:自定义字段(Custom Fields)

WP_Query 参数:自定义字段(Custom Fields)

WordPress函数:wp_list_authors(作者列表)

29 条评论

  1. 请问如果我想将某一新增的信息栏,只有管理员看见到或才能够填写!?
    例如:$contactmethods[‘qq’] = ‘QQ’;
    这一栏位只有管理员能够看到或填写…其他的BLOG角色没权限…

    • 可以试试

      if(current_user_can('manage_options' )){
          $contactmethods['qq'] = 'QQ';
      }
      
      • 改好了!…其中facbook的信息,只有管理员能够查看及编辑…
        function wpdaxue_add_contact_fields( $contactmethods ) {
        if ( !isset( $contactmethods[‘facebook’]) && current_user_can( ‘create_users’ ) )
        $contactmethods[‘facebook’] = ‘Facebook’;
        $contactmethods[‘qq’] = ‘QQ’;
        unset( $contactmethods[‘yim’] );
        unset( $contactmethods[‘aim’] );
        unset( $contactmethods[‘jabber’] );
        return $contactmethods;
        }
        add_filter( ‘user_contactmethods’, ‘wpdaxue_add_contact_fields’ );

  2. hi,请教,在后台添加带单项框的个人信息项目,代码如何写呢?多谢啦

  3. 帅气小琦琦

    严重学习了 WP大学果然是一个大学 很多东西都可以在这里找到

  4. 头部和页脚文件怎么才能调用????

  5. 怎么在前台调用用户头像?

  6. 哥哥 太感谢你了 正好我能用得上 我新建了一个每日语录 然后添加了一个字段作者 哈哈 有空去看看指导一下 http://www.erwas.cn

  7. 你好,我想要问一下,我一个站点只是想把腾讯微博修改成Twitter,这个该在哪里操作呢?我有一个站的主题里面可以直接修改,但是另一个站用的另一个主题,我尝试在wordpress主程序里也没看到。

发表评论