萨龙网络
登录
首页-WordPress文章-WordPress-正文

WordPress 获取用户 ID 的8种方法

萨龙龙萨龙龙
WordPress
4年前
0
0
4.89W
在 WordPress 主题的开发过程中,获取用户 ID 的频率是很高的,可在 WordPress 中查看用户信息,也可以通过代码直接获取。

一、在 WordPress 后台区域找到用户 ID

这是一个非常简单的方法,需要有后台管理权限的用户才能查看。 1、登录 WordPress  后台 2、转到用户——所有用户列表页面 3、编辑用户 4、在当前页面链接中的 user_id= 后面的数字即是用户的 ID

二、获取当前用户 ID(也可以获取用户名,Email 等)

获取当前登录用户ID的最佳方法是使用get_current_user_id()函数。
$current_user_id = get_current_user_id();
与wp_get_current_user()方法相同的函数:
$current_user = wp_get_current_user();
$current_user_id = $current_user->ID;
get_current_user_id()的用法对我来说似乎更简单,但你可以使用任何你想要的方式,因为在代码中它们是相同的。 获取用户其它信息:
$user_email = $current_user->user_email;
$first_name = $current_user->first_name;
$display_name = $current_user->display_name;

三、通过 Email 获取用户 ID

可使用 get_user_by() 函数获取用户信息
$the_user = get_user_by('email', 'admin@salongweb.com');
$the_user_id = $the_user->ID;
反过来,我们也可以通过 ID 获取用户的 Email
$the_user = get_user_by( 'id', 1 ); // 用户 ID 为1
echo $the_user->user_email;

四、通过用户名获取用户 ID

同样是使用 get_user_by() 函数获取用户信息
$the_user = get_user_by('login', 'salongweb');
$the_user_id = $the_user->ID;
反过来,我们也可以通过 ID 获取用户的用户名,和通过 ID 获取用户 Email 是一样的。 五、通过姓名名获取用户 ID 打印所有姓为“sa”的用户的 ID:
global $wpdb;
$users = $wpdb->get_results("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'first_name' AND meta_value = 'sa'");
if ($users) {
    foreach ($users as $user) {
        echo $user->user_id;
    }
} else {
    echo '没有该姓的用户。';
}
打印所有名字为“longlong”的用户的 ID:
global $wpdb;
$users = $wpdb->get_results("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'first_name' AND meta_value = 'longlong'");
if ($users) {
    foreach ($users as $user) {
        echo $user->user_id;
    }
} else {
    echo '没有该名字的用户。';
}
如果您想通过任何用户元值查找用户ID,那么上面的代码可以工作。只需将meta_keymeta_value替换为您需要的。 当然,在get_user_meta( $id, $meta_key, true)函数的帮助下,你也可以得到用户的姓和名以及任何meta。

六、通过文章 ID 获取作者 ID

在这种情况下,您可以从WP_Post对象获取用户ID。
$my_post = get_post( $post_id ); // 获取文章 ID 获取文章数据
echo $my_post->post_author; // 打印出作者 ID
也可以使用 get_post_field() 函数来直接获取作者的 ID
$author_id = get_post_field('post_author', $post_id);

七、从 WooCommerce 的订单中获取客户 ID

有两种不同的方法,第一种是通过订单元数据获取客户 ID:
$customer_id = get_post_meta( 123, '_customer_user', true); // 123 是订单 ID
第二个可通过WC_Order类来获取,WooCommerce 版本需3.0 +。
$order = wc_get_order( 123 ); // 123 是订单 ID
$customer_id = $order->get_customer_id(); //  或者 $order->get_user_id() 是一样的

八、将用户 ID 添加到 WordPress 用户列表的列中

这对于管理员来说,查看用户 ID 是相当的方便快捷,可将如下代码添加到 WordPress 主题函数文件 functions.php 中
/*
 * 添加用户列表栏目
 */
function salong_user_id_column($columns)
{
    $columns['user_id'] = 'ID';
    return $columns;
}
add_filter('manage_users_columns', 'salong_user_id_column');

/*
 * 栏目内容
 */
function salong_user_id_column_content($value, $column_name, $user_id)
{
    if ('user_id' == $column_name)
        return $user_id;
    return $value;
}
add_action('manage_users_custom_column',  'salong_user_id_column_content', 10, 3);
标签:
本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wordpress-get-user-id.html
萨龙龙

萨龙龙

侠客
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!
1342.21M456.66W3.85W
分享:
WordPress 主题获得评论深度的2种方法
WordPress 主题获得评论深度的2种方法上一篇
WordPress 主题 MNews Pro 5.2 投稿新增可插入音视频功能下一篇
WordPress 主题 MNews Pro 5.2 投稿新增可插入音视频功能
相关文章
总数:107

WordPress 主题获得评论深度的2种方法

一、通过使用全局变量获取评论深度 我相信您应该知道wp_list_comments()函数,它可以将评论打印在网站页面上。 为什么这个功…
萨龙龙萨龙龙
WordPress
4年前
0
0
2.23W
0

WordPress 限制上传媒体的文件类型

MNews和LensNews主题都有前台投稿的功能,用户可以上传图片等文件,管理员是不希望用户上传任意的媒体文件,这时我们可以对用户上传的…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.19W
0

WordPress Mega超级大菜单插件Ubermenu

Ubermenu是一个用户友好的、可高度定制响应式的Wordpress超级大菜单插件,工作原理与Wordpress3菜单系统类似,强大到可创建…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.67W
0

WordPress多站点社区动态中获取自定义文章类型更新

萨龙网络使用Buddypress社区已经很长一段时间,在社区首页动态中可能获取整个网站的最新文章、用户注册,用户动态内容,而自定义文章类型的发布…
萨龙龙萨龙龙
Buddypress, WordPress
9年前
0
0
1.16W
0

WordPress为分类添加自定义值

在开发一些比较独特的主题过程中,需要自定义很多内容,本文是如何为分类添加自定义缩略图。 将如下代码添加到主题functions.php中:…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.05W
0

WordPress 主题 MNews Pro 5.2 投稿新增可插入音视频功能

MNewsPro主题已经更新到5.2版本,功能已经很完善,且实用,在文章投稿编辑器有用户提出不能上传视频或者插入视频简码不方便的问题。 …
萨龙龙萨龙龙
WordPress
3年前
0
0
2.50W
0

使用WordPress MU一个程序创建多站点网络介绍与安装教程

经常折腾wp的人肯定不止一个博客,主题高产的WPER那就更不用说,所以我们不想重复地安装wordpress,通过WordPressMU只需要安…
萨龙龙萨龙龙
WordPress
10年前
0
0
2.14W
2

WordPress 主题选项框架 Codestar Framework Pro 2.0专业版使用

萨龙网络在2018年9月份就写了一篇《WordPress简约实用的主题选项框架CodestarFramework》文章来介绍Codest…
萨龙龙萨龙龙
WordPress
7年前
0
0
2.76W
0

CSS3 background-attachment:fixed实现滚动视差效果

一直都想设计一个有滚动视差效果的主题,而网上所有的介绍和有视差效果的主题都是使用jQuery来实现,而且由于视差背景图是一张满屏的大小,所以一直…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.50W
0

修改Buddypress中管理员的显示名与用户名区别开提高账户安全

Buddypress社区中有很多地方会直接显示用户登录名,比如用户个人主题中的名称和链接中,所有来访的用户都知道了管理员的用户名,对于小人知道了…
萨龙龙萨龙龙
Buddypress, WordPress
10年前
0
0
1.62W
0

如何把WordPress数据迁移至WordPress MU

前面我们介绍了如果安装WordPressMU,安装完成后我们就需要把每个独立站点的数据转移到MU中,在MU中最原始的站点数据是不需要改动,只需…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.35W
0

WordPress循环中判断为每篇文章设计不同的样式

新闻视频类Yewan主题的首页文章布局是不规则,文章的布局多样化,这是如何实现的?其实是很简单的,我们在循环中进行判断,每一篇文章都可以输出不同…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.20W
0
评论表单游客 您好,欢迎参与讨论。
请输入昵称
请输入邮箱
请输入网址
0 / 0
评论列表
总数:0
萨龙网络
没有相关内容