Hướng dẫn custom user meta field trong wordpress

Hướng dẫn custom user meta field trong wordpress

Ngày 18 - 12 - 2017 - Tại chuyên mục: Wordpress - Lượt xem: 8573

Chức năng user và quản lý user trong wordpress không được đánh giá cao bởi khả năng phân quyền (được xem làm kém) và khả năng tùy chỉnh các trường của user ít. Để nâng cao sức mạnh của phần quản lý user này, wordpress đã xây dựng lên chức năng custom user meta field.

Để tìm hiểu rõ hơn về chức năng này hôm nay mình xin hướng dẫn cho các bạn cách custom user meta field trong wordpress.

custom user meta field trong wordpress

User meta field trong wordpress là gì?

Mặc định khi cài wordpress lên, thì tương ứng với mỗi user sẽ có một số trường để lưu các thông tin của user đó như:

  • Username
  • Password
  • Email
  • Website
  • Description

Hướng dẫn custom user meta field trong wordpress

Các trường mặc định khi cài wordpress lên

Các trường này được xem là user meta, việc mà chúng ta đi tạo một trường mới mà mặc định không có người ta gọi là custom user meta. Vậy là sao để custom user meta trong wordpress? chúng ta bắt đầu đi tìm hiểu nhé!.

Hướng dẫn custom user meta field trong wordpress

Cách 1: Dùng plugin

Đến thời điểm hiển tại đây cũng là tính năng này khá phổ biến, nên có rất nhiều plugin hỗ trợ vấn đề này ví dụ như: Use metaUser Meta Manager, Toolset types Trong số các plugin đó mình khuyên bạn dùng plugin toolset types, đây là plugin mình đã sử dụng, cảm thấy rất tốt và cũng có loạt bài viết hướng dẫn sử dụng plugin toolset types này.

Để custom user meta field sử dụng plugin toolset types các bạn vào: wp-admin -> Toolset -> Các trường dữ liệu người dùng, Ở đây các bạn tiến hành tạo nhóm trường, sau đó tạo các field. Có rất nhiều kiểu để các bạn lựa chọn như: Kiểu text, số, hình ảnh, ngày giờ, văn bản, select option…

custom user meta field trong wordpress

Cách 2: Sử dụng code trong file functions.php của theme

Để dễ hình dùng mình sẽ đưa ra một yêu cầu sau đó chúng ta sẽ đi thực hiện yêu cầu đó nhé!

Ví dụ bày chừ mình cần tạo một trường để lưu địa chỉ của mỗi user, có nghĩa là khu vực thêm và chỉnh sửa thông tin của mỗi user sẽ xuất hiện ô textbox để chúng ta nhập địa chỉ. Để làm chức năng chúng ta thực hiện như sau.

**Thêm khu vực nhập địa chỉ cho user: Các bạn copy và dán đoạn code này vào file functions.php của theme đang sử dụng nhé!

Trong đó: 

  • my_show_extra_profile_fields là hàm hiển thị from nhập địa chỉ, hàm này bạn có thể đặt tên tùy thích. Form này giống như một form nhập liệu bình thường bạn có thể nhập nhiều field khác nhau. Hàm này được móc vào 2 action là show_user_profile, edit_user_profile
  • Action show_user_profile là action cho phép hiển thị form nhập địa chỉ ở khu vực xem trang cá nhân của 1 user.
  • Action edit_user_profile là action cho phép hiển thị form nhập địa chỉ ở khu vực chỉnh sửa thông tin của cá nhân của 1 user nào đó.
  • Name = “address”: address là key của meta field, key này sử dụng để lấy dự liệu ra ngoài

Sau khi chèn đoạn code này vào file function các bạn vào: wp-admin -> Thành viên-> sồ sơ của bạn, hoặc wp-admin-> Thành Viên-> chỉnh thông tin của 1 thành viên nào đó các bạn sẽ thấy được như hình bên dưới, có nghĩa các bạn đã thành công trong việc thêm khu vực để nhập địa chỉ:

custom user meta fields

Thêm user meta field thành công

**Lưu thông tin địa chỉ vào trong database: Copy và dán đoạn code này vào file functions.php của theme đang sử dụng nhé!

Trong đó: 

  • my_save_extra_profile_fields là hàm thực hiển việc lưu địa chỉ vào database. Hàm này được móc vào trong 2 action là: personal_options_update và edit_user_profile_update
  • personal_options_updateLà action thực hiện việc lưu thông tin ở khu vực xem thông tin user.
  • edit_user_profile_updateLà action thực hiện việc lưu thông tin ở khu vực edit user.

Các lấy dự liệu của user meta field: Chúng ta sử dụng hàm sau

Trong đó: $meta_key là key của trường mà bạn cần lấy, ở đây là address, $user_id là id của user bạn cần lấy.

Tóm lại:

Hôm nay mình đã hướng dẫn cho các bạn cách custom user meta field trong wordpress. Đây là một tính năng rất cần thiết khi bạn muốn phát triển những tính năng thêm cho user trong wordpress. Đây là một trong những tính năng biến wordpress trở thành cms vô đối. Hy vọng với chút kiến thức nhỏ này sẽ giúp ích cho các bạn trong quá trình học wordpress, hãy theo chuyển mục hướng dẫn lập trình theme wordpress trên blog để cùng học wordpress hiệu quả nhé!

Chào thân ái và quyết thắng!

Huy Kira

Đam mê hóa học, ưng thi vào trường kinh tế... Đậu vào trường Sư phạm, quyết tâm đi dạy... Ra trường đi làm designer, tự học frontend, chuyển qua làm PHP, được công ty đào tạo laravel... Và hiện tại đang code react native(2015) => Fullstack ... ?? tối về viết blog... (Còn tiếp...)

9
  • Mục tiêu béTks bạn. À bạn có bài nào nói về tạo User group và phân quyền không :d

    Thích Trả lời 6 năm trước

    • HuyKiraThank bạn đã ghé thăm, hiện tại mình chưa có bài viết về chủ để đó bạn :D, Vài bữa để mình tổng hợp xem rồi viết nhé :D

      Thích Trả lời 6 năm trước

  • Rồng Con HGCó phân quyền user được không ad

    Thích Trả lời 6 năm trước

  • Binzcho mình hỏi muốn thêm 1 cột hiển thị trường này ra Tất cả người dùng ảnh bên trên thì làm ntn ạ?

    Thích Trả lời 6 năm trước

    • Huy KiraMình chưa hiểu ý của cậu lắm!

      Thích Trả lời 6 năm trước

    • Thick QuotaChắc bạn này muốn ra 1 page show tất tần tật các thông tin cần thiết của user. https://drive.google.com/file/d/1kWmgffnavLI1MD3_GagRAR2z-nTREEe5/view?usp=sharing https://drive.google.com/file/d/1eoqZqO1IG94fZOXio6tPTWJArc7bBYc7/view?usp=sharing tạo avatar dùng plugin wp-user-avatar

      Thích Trả lời 1 năm trước

  • HamiCần tìm CTV cập nhật nội dung lên website https://hamisky.com

    Thích Trả lời 4 năm trước

  • Lê Quý tiến Đạtcó cách nào tạo trang ngoài trang chủ upload avarta của user không bạn

    Thích Trả lời 4 năm trước

  • chiendxbạn có bài nào nói về tạo User group và phân quyền không :d

    Thích Trả lời 8 tháng trước

AVT