如果你要折腾主题或者将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,用法一目了然,就不多说,效果如下图所示:
如果要调用上面的字段,只需要使用 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)内才能正常使用。
推荐阅读: