萨龙网络
Login
Home-WordPress文章-WordPress-正文

WordPress 获取用户 ID 的8种方法

萨龙龙萨龙龙
WordPress
4年前
0
0
4.75W
在 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);
Tags:
本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wordpress-get-user-id.html
萨龙龙

萨龙龙

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

WooCommerce商城首页获取自定义字段

WooCommerce商城首页默认被插件转换成归档页面archive-product.php,但是添加的依然是页面,所以通过get_post_m…
萨龙龙萨龙龙
WooCommerce
8年前
0
0
1.15W
0

WordPress 主题感染恶意代码function _check_active_widgets

萨龙龙开发主题这么久,第一次感染恶意代码,整个WordPress下的主题functions.php都被插入了一大段函数代码,百度一下也发…
萨龙龙萨龙龙
WordPress
8年前
0
0
1.55W
0

WordPress强大的开源后台框架Redux Framework介绍与使用

开发一个WP主题有了前端页面设计的美观与布局外,后台选项也是相当重要的一个组成部分,好的后台框架在使用主题时方便快捷的设置各个功能,也让主题开发…
萨龙龙萨龙龙
WordPress
9年前
0
0
2.27W
0

WordPress 判断是否在循环中的函数 in_the_loop

WordPress主题开发中,很多时间需要在文章与列表中进行判断从而输出不同的内容,比如文章分类,只想在列表中显示,文章中不显示。列表页面可直…
萨龙龙萨龙龙
WordPress
7年前
0
0
9.94K
0

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

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

WordPress MU多站点解决Timthumb.php不显示缩略图

最近在开发Perimg图片主题,用户想要用Timthumb.php插件来实现缩略图,缩略图的顺序是自定义域、文章第一张图片与默认缩略图,而萨龙龙…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.12W
0

WordPress一行代码允许重复评论的功能

默认情况下WordPress是不允许重复的评论提交,主要是为了防止垃圾评论。有些情况下又需要重复评论,最近用户需要在MNewsPro主题上定制…
萨龙龙萨龙龙
WordPress
1年前
1
1
6.44K
0

WordPress 出现 Allowed memory size of 134217728 bytes exhausted 错误如何修复

当出现"Allowedmemorysizeof134217728bytesexhausted"错误时,意味着PHP内存限制被…
萨龙龙萨龙龙
WordPress
2年前
0
0
2.27W
0

WooCommerce 商城插件的条件式标签

可以在模板文件中使用WooCommerce和WordPress的条件式标签,以根据匹配页面的条件来显示的特定内容。例如,您可能想要在商店页面上方…
萨龙龙萨龙龙
WooCommerce
8年前
0
0
1.23W
0

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

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

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

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

WordPress网站维护状态插件maintenance mode

Wordpress的强大就是什么样的扩展都有,最近浏览用户网站时发现用的“不是我的主题”,查看源代码才发现是使用了网站维护插件maintenan…
萨龙龙萨龙龙
WordPress
9年前
0
0
2.20W
0
评论表单游客 您好,欢迎参与讨论。
Enter nickname
Enter email
Enter website
0 / 100
评论列表
Total: 0
萨龙网络
暂无评论,第一个评论下?