如果你要折腾主题或者将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)内才能正常使用。

推荐阅读:

如何获取WordPress当前用户信息

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

删除/添加/调用WordPress用户个人资料的联系信息的更多相关文章

  1. [App Store Connect帮助]二、 添加、编辑和删除用户(3)添加和编辑用户

    您可以在“用户和访问”中添加和编辑用户. 如果您以个人名义在“Apple 开发者计划”注册,您可以授权用户访问您 App Store Connect 中的内容.所有用户只拥有 App Store Co ...

  2. WordPress用户登录后重定向到指定页面

    这篇文章将向您展示WordPress用户登录后如何重定向到指定页面或者文章的技巧. 一.重定向到网站管理面板. 将以下代码添加到您的当前主题的 functions.php 文件中: function  ...

  3. WordPress用户角色与用户能力/权限

    WordPress用户角色(user roles)是WP或者其它插件增加的,可以让网站管理员(网站管理员也是一种角色)来方便的管理用户的权限/能力(Capabilities,一般情况下,一种角色不止有 ...

  4. WordPress用户的权限类

    WordPress的权限类这是管理 WordPress 用户权限最常用的函数.WordPress 用于角色和权限幕后工作的三个类,以及这些类提供的接口,我们可以在插件中进行高级权限管理.这三个类是: ...

  5. [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  6. sqlserver学习笔记(三)—— 为数据库添加新的用户

    首先,用windows或sa身份登录sqlserver, 打开安全性——登录名——右键新建登录名:在选择页——常规中,新建命为user_b的登录名,选择sqlserver身份验证方式,设置密码确认密码 ...

  7. JSP实现登录删除添加星座等(带样式)

    功能要求 1.完成两个页面 2.第一个登陆页面login. jsp 3.第二个用户管理页面useManage. jsp 4.有登录功能(能进行用户名密码的校验,用户名若为自己的学号密码为班级号,允许登 ...

  8. ASP.NET Web API与Owin OAuth:调用与用户相关的Web API

    在前一篇博文中,我们通过以 OAuth 的 Client Credential Grant 授权方式(只验证调用客户端,不验证登录用户)拿到的 Access Token ,成功调用了与用户无关的 We ...

  9. 删除mysql中root用户恢复方法

    1.# service mysqld stop  #停止mysql数据库服务 2.# service mysqld start --skip-grant-tables #跳过授权表启动mysql数据库 ...

随机推荐

  1. Hive:HQL和Mysql:SQL 的区别

    HQL: group by 后面的参数一定要和select非聚集函数一致 where 1 要改成 where 1 = 1

  2. Web服务器进程连接数和请求连接数

    1.查看Web服务器进程连接数: netstat -antp | grep 80 | grep ESTABLISHED -c 2.查看Web服务器的并发请求数及其TCP连接状态: netstat -n ...

  3. [CEOI2004]锯木厂选址

    link 试题分析 做这种题就应该去先写个暴力代码 #include<iostream> #include<cstring> #include<cstdio> #i ...

  4. win平台搭建Lnmp环境

    win10上面安装的phpStudy这些天有时候打不开网页 502,请求一直loading,就算是代码问题我也扶不住,安装个Redis,mongodb都超级麻烦,并且好多都模拟Linux做的东西,最终 ...

  5. Error: Chromium revision is not downloaded. Failed to download Chromium

    在使用prerender-spa-plugin做前端预渲染的时候,安装puppeteer的时候因为下载Chromium 失败报错,有如下解决方法: 1.使用Chromium 国内源 npm confi ...

  6. java Ftp上传创建多层文件的代码片段

    StringBuilder sBuilder = new StringBuilder();            String[] pah = path.split("/");   ...

  7. 洛谷P1890 gcd区间

    题目描述 给定一行n个正整数a[1]..a[n]. m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数. 输入输出格式 输入格式: 第一行两个整数n,m. 第二行n个整数表 ...

  8. 关于HttpURLConnection/HttpsURLConnection请求出现了io.filenotfoundexception:url的解决方法

    //从输入流读取返回内容InputStream is = null;int status = connection.getResponseCode();if(status>= HttpStatu ...

  9. LeetCode-Sort List[AC源码]

    package com.lw.leet4; /** * @ClassName:Solution * @Description: * Sort List * Sort a linked list in ...

  10. AJAX 状态值与状态码详解

    1- AJAX状态值与状态码区别 AJAX状态值是指,运行AJAX所经历过的几种状态,无论访问是否成功都将响应的步骤,可以理解成为AJAX运行步骤.如:正在发送,正在响应等,由AJAX对象与服务器交互 ...