Các cách lấy ID người dùng trong WordPress

Các cách lấy ID người dùng trong WordPress

24/08/2024 - 58

Bạn là một lập trình viên WordPress và cần phát triển các tính năng liên quan đến người dùng? Bài viết này sẽ hướng dẫn bạn cách để lấy được ID người dùng trong WordPress.

lấy user ID trong WordPress



Tìm trong trang quản trị WordPress

Đây là một phương pháp rất đơn giản, nhưng nó cũng có một số nhược điểm.

Đầu tiên – bạn phải đăng nhập, thứ hai – bạn không thể lấy id của chính mình.

  1. Đăng nhập vào quản trị viên WordPress của bạn
  2. Đi tới Thành viên > Tất cả người dùng
  3. Chọn và truy cập hồ sơ của người dùng
  4. Nhìn vào URL của trang:

Người dùng hiện tại, đang đăng nhập

Cách để lấy được ID người dùng đang đăng nhập hiện tại là dùng hàm get_current_user_id().

$current_user_id = get_current_user_id();

Hoặc sử dụng hàm wp_get_current_user() để lấy object của người dùng hiện tại:

$current_user = wp_get_current_user();
$current_user_id = $current_user->ID;

Vì hàm này sẽ trả về object của người dùng hiện tại, nên bạn có thể sử dụng để lấy địa chỉ email, họ, tên, username,…

$current_user->user_email
$current_user->first_name
$current_user->last_name
$current_user->user_login

Dựa vào địa chỉ email của người dùng

Để lấy được ID người dùng dựa vào địa chỉ email, bạn sẽ phải dùng đến hàm get_user_by().

$the_user = get_user_by('email', 'misha@rudrastyh.com');
$the_user_id = $the_user->ID;

Dựa vào username (tên đăng nhập)

Ở ví dụ dưới đây, tên người dùng của mình sẽ là huykira. Bạn cũng vẫn dùng đến hàm get_user_by() để lấy được ID người dùng.

$the_user = get_user_by('login', 'huykira');
$the_user_id = $the_user->ID;

Lấy ID tác giả dựa trên ID bài viết

Trong trường hợp này, bạn có thể lấy ID người dùng từ object WP_Post.

$my_post = get_post( $id ); // $id - Post ID
echo $my_post->post_author; // print post author ID

Lấy ID khách hàng từ đơn hàng trong WooCommerce

Có hai cách khác nhau để thực hiện, cách đầu tiên là lấy ID khách hàng từ đơn hàng:

$customer_id = get_post_meta( 541, '_customer_user', true); // 541 là ID đơn hàng

Cách thứ hai là với sự trợ giúp của đối tượng WC_Order. Phương pháp này sẽ chỉ hoạt động cho WC 3.0+.

$order = wc_get_order( 541 ); // 541 là ID đơn hàng
$customer_id = $order->get_customer_id();

Thêm cột ID người dùng vào bảng danh sách người dùng của WordPress

Đây là cách rất hữu ích để lấy ID người dùng thông qua quản trị viên WordPress. Kết quả sau khi hoàn thành:
Thêm cột ID người dùng
Tất cả những gì bạn cần làm là sao chép đoạn code sau vào file functions.php:

/*
 * Adding the column
 */
function hk_user_id_column( $columns ) {
	$columns['user_id'] = 'ID';
	return $columns;
}
add_filter('manage_users_columns', 'hk_user_id_column');
 
/*
 * Column content
 */
function hk_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',  'hk_user_id_column_content', 10, 3);
 
/*
 * Column style (optional)
 */
function hk_user_id_column_style(){
	echo '<style>.column-user_id{width: 5%}</style>';
}
add_action('admin_head-users.php',  'hk_user_id_column_style');

Tổng kết

Bài viết này là tổng hợp các thủ thuật để bạn làm việc với các chức năng liên quan đến người dùng. Nếu mọi thứ hoạt động như mong đợi, hãy bình luận và chia sẻ bài viết này.

Ngoài ra, bạn có thể theo dõi chuyên mục Thủ thuật WordPress và follow Facebook để biết thêm nhiều kiến thức mới nha.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Bài viết liên quan
Contact Me on Zalo