WordPress 获取用户 ID 的8种方法
在 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_key
和meta_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);
"愿我的文字能带给您一丝美好"
分享海报

WordPress 获取用户 ID 的8种方法
在WordPress主题的开发过程中,获取用户ID的频率是很高的,可在WordPress中查看用户信息,也可以通…
萨龙网络
WordPress主题|WordPress 企业主题|WordPress 商城主题|高品质网站定制
评论
A 为本文作者,G 为游客总数:0