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.
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.
- Đăng nhập vào quản trị viên WordPress của bạn
- Đi tới Thành viên > Tất cả người dùng
- Chọn và truy cập hồ sơ của người dùng
- 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:
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.