get_user_by: Hướng dẫn sử dụng và ví dụ cụ thể

get_user_by là hàm dùng để lấy thông tin về thành viên dựa trên một trường cụ thể nào đó. get_user_by() có thể dùng để lấy thông tin user dựa trên username, login name, user id, user_email,…

Theo như giải thích của phía nhà phát triển WordPress thì get_user_by là một pluggable function, tức là nó có thể được thay thế bằng một plugin. Có nghĩa là chức năng này chỉ được hoạt động sau khi tất cả các plugin đã được tải. Trước thời điểm này, hàm này chưa được xác định, do đó, bạn không thể gọi hàm này và tất cả các hàm phụ thuộc vào hàm này trực tiếp từ trong plugin.

Hướng dẫn sử dụng hàm get_user_by() với các ví dụ cụ thể

Hướng dẫn sử dụng hàm get_user_by() với các ví dụ cụ thể

Chúng cần được gọi trên hook plugins_loaded trở lên, ví dụ như trên init hook. Ngoài ra, nếu trong plugin, bạn tạo một function với tên get_user_by thì hàm này sẽ bị ghi đè và function bạn tạo mới sẽ được sử dụng.

Hàm get_user_by nằm ở đâu?

Hàm này nằm ở lõi (core) của WordPress. Nó được giới thiệu lần đầu tiên trong bản WordPress 2.8.0, sau đó được cải tiến và được sử dụng đến tận bây giờ là phiên bản 5.6. Tại phiên bản 4.4.0 thì có thêm một cải tiến là thêm ID (chữ in hoa) thành alias cho id (chữ thường). Bạn có thể tìm thấy hàm get_user_by ở file này: wp-includes/pluggable.php

Cấu trúc:

Cách sử dụng hàm get_user_by()

Hàm get_user_by cần 2 thông số truyền vào để nó có thể xử lý. Bắt buộc phải có 2 tham số $field và $value, thiếu một trong 2 tham số sẽ đều cho kết quả rỗng (false). Cách sử dụng như sau

Trong đó:
$field là dữ liệu dạng string, truyền vào để xác định trường cần so sánh dữ liệu. $field ở đây có thể là username, user_id, user_email...
$value là giá trị để so sánh, $value có thể là số nếu $field là id, có thể là text nếu $field là username hoặc name, có thể là email nếu $field là user_email

lưu ý là $field nó phân biệt chữ hoa chữ thường. Ví dụ id khác với login nên get_user_by( ‘LOGIN’, ‘admin’ ) sẽ không trả về kết quả gì, câu lệnh đúng phải là get_user_by( ‘login, ‘admin’ ).

Giá trị trả về của hàm get_user_by

Giá trị trả về của hàm get_user_by là một object chứa dữ liệu các trường thông tin về thành viên đó nếu có kết quả. Giá trị là rỗng nếu không có kết quả.
Ví dụ:

Giá trị trả về:

Để code sạch và tránh lỗi thì các bạn nên validate kết quả trước khi xử lý dữ liệu. Ví dụ như sau:

Một số ví dụ về cách dùng hàm get_user_by

Lấy thông tin thành viên dựa trên id của thành viên.

Lấy thông tin của thành viên dựa trên email:

Lấy thông tin thành viên dựa vào login name:

Lấy thông tin thành viên dựa vào username:

Lấy thông tin thành viên dựa vào slug:

Lấy thông tin thành viên dựa vào first name hoặc last name:

Theo first name:

Theo last name:

Get the user id by its display_name:

Tham khảo thêm thông tin tại trang WordPress Developer

Đánh giá
Share.
About Author

Chào bạn, mình là Gia Hân. Mình học về dược sỹ nhưng hiện tại chỉ làm nội trợ và mỹ phẩm handmade. Mình cũng có chút ít kiến thức về tin học như wordpress, joomla, hay SEO nhưng cũng chỉ ở mức đủ dùng, chưa thể làm thầy được. Các bài mình viết dựa chính trên kinh nghiệm của bản thân và thực tế sử dụng. Sẽ không tránh khỏi sai sót, nếu các bạn phát hiện thấy sai sót nào thì nhắn giúp để mình sửa nhé. Mục liên hệ ở đây.

Leave A Reply