Chuyển đến nội dung chính

Hướng dẫn get user và custom user field trong wordpress

Huong dan get user va custom user field trong wordpress - Hướng dẫn get user và custom user field trong wordpress

Source: Hướng dẫn get user và custom user field trong wordpress

Tiếp tục với loạt bài hướng dẫn lập trình theme wordpress, hôm nay mình sẽ hướng dẫn các bạn cách tùy chỉnh user field cũng như cách lấy danh sách user lên frontend.

Khi làm website wordpress, khách hàng ít khi để ý đến phần người dùng. Nhưng nếu đụng đến các trang web có quản lý thành viên, các lập trình viên thường lúng túng và rất mất thời gian.

1 turbo business hosting - Hướng dẫn get user và custom user field trong wordpress

Vì vậy hôm nay mình sẽ tổng hợp lại một số kiến ​​thức liên quan đến người dùng trong wordpress.

Một số chức năng liên quan đến người dùng trong wordpress

  • is_user_logged_in () -> Chức năng này kiểm tra xem người dùng có đăng nhập vào web hay không
  • get_current_user_id () -> Lấy id của người dùng đã đăng nhập
  • wp_get_current_user () -> Nhận thông tin của người dùng hiện đang đăng nhập
  • get_user_by (‘id’, 1) -> Nhận người dùng khi biết id
  • get_users ($ args) -> Nhận danh sách người dùng với tham số
  • get_avatar (1, 32) -> Lấy hình đại diện của người dùng: 1 là id người dùng, 32 là kích thước hình đại diện (32px)
  • get_user_meta ($ id, $ key, true) -> Nhận trường meta người dùng

Trường người dùng tùy chỉnh trong wordpress

Huong dan get user va custom user field trong wordpress - Hướng dẫn get user và custom user field trong wordpress

Trường người dùng tùy chỉnh là gì?

Theo mặc định, mỗi người dùng trong wordpress sẽ có các trường như: Tên người dùng, email, tên hiển thị, ảnh đại diện, mô tả … Và cũng giống như các chức năng tùy chỉnh khác mà mình đã giới thiệu, wordpress cũng cung cấp chức năng tùy chỉnh hoặc thêm trường người dùng mới.

Thêm trường người dùng mới được gọi là trường người dùng tùy chỉnh.

Tạo trường người dùng tùy chỉnh

Để dễ sử dụng, tôi sẽ có một ví dụ: Tạo một trường bổ sung để lưu trữ địa chỉ của người dùng

Để tạo trường người dùng tùy chỉnh trong wordpress, hãy thêm mã này vào tệp functions.php của chủ đề bạn đang sử dụng.

* Thêm khu vực nhập địa chỉ cho người dùng

<?php
add_action( 'show_user_profile', 'my_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'my_show_extra_profile_fields' );
function my_show_extra_profile_fields( $user ) { ?>
 <h3>Thông tin cá nhân</h3>
 <table class="form-table">
 <tr>
   <th><label for="address">Địa chỉ</label></th>
   <td>
     <input type="text" name="address" id="address" value="<?php echo esc_attr( get_the_author_meta( 'address', $user->ID ) ); ?>" class="regular-text" /><br />
     <span class="description">Nhập địa chỉ</span>
   </td>
 </tr>
 </table>
<?php } ?>

Giải thích:

  • my_show_extra_profile_fields là chức năng hiển thị từ nhập địa chỉ, chức năng này bạn có thể đặt tên tùy thích. Biểu mẫu này giống như một biểu mẫu nhập thông thường, bạn có thể nhập nhiều trường khác nhau. Chức năng này được nối thành 2 hành động show_user_profile, edit_user_profile
  • Hoạt động show_user_profile là hành động cho phép hiển thị biểu mẫu nhập địa chỉ trong vùng xem trang hồ sơ của người dùng.
  • Hoạt động edit_user_profile là hành động cho phép hiển thị biểu mẫu nhập địa chỉ trong vùng chỉnh sửa thông tin cá nhân của một người dùng nào đó.
  • Tên = “Địa chỉ“: Địa chỉ là khóa của trường meta, khóa này được sử dụng để lấy dữ liệu ra

* Lưu thông tin địa chỉ trong cơ sở dữ liệu

<?php 
add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );
    function my_save_extra_profile_fields( $user_id ) {
        if ( !current_user_can( 'edit_user', $user_id ) )
        return false;
        update_usermeta( $user_id, 'address', $_POST['address'] );
    } 
?>

Giải thích:

  • my_save_extra_profile_fields là chức năng lưu trữ địa chỉ trong cơ sở dữ liệu. Hàm này được nối thành hai hành động: Personal_options_updateedit_user_profile_update
  • Personal_options_update: Một hành động lưu thông tin trong vùng xem thông tin người dùng.
  • edit_user_profile_update: Một hành động lưu thông tin trong khu vực người dùng chỉnh sửa.

=> Để tạo trường người dùng tùy chỉnh, bạn phải sử dụng cả hai mã trên, kết quả như sau

Hướng dẫn lấy user và custom user field trong wordpress

Tạo trường người dùng tùy chỉnh bằng plugin

Giống như tất cả các chức năng khác trong wordpress, trường người dùng tùy chỉnh này cũng có hàng tá plugin hỗ trợ như:

  • ACF (Trường tùy chỉnh nâng cao)
  • Các loại Tootset

Tôi có chia sẻ plugin acf pro ở đây, bạn nào cần thì tải về:


Tải xuống mã “ACF Pro plugin phiên bản 5.8.9”

Để tải mã, vui lòng làm theo các bước sau!

Bước 1:
Thích trang người hâm mộ của Kira:
Bước 2:
Để lại email của bạn, hệ thống sẽ kiểm tra và gửi mã vào email của bạn trong vòng 10 phút!
Tặng kem:
Ghi chú: Trong một số trường hợp, email sẽ được gửi vào thư mục thư rác. Hãy kiểm tra cẩn thận!

Huong dan get user va custom user field trong wordpress - Hướng dẫn get user và custom user field trong wordpress

Nhận danh sách người dùng trong wordpress

Tôi sẽ nhận được danh sách 20 người dùng mới nhất của trang web. Đồng thời hiển thị tên, địa chỉ, hình đại diện của người dùng, vui lòng chèn đoạn mã sau vào vùng hiển thị danh sách người dùng.

<?php 
        $array = array(
                'number' => 20,
                'orderby' => 'id',
                'order' => 'DESC'
        );
        $listUser = get_users($array);
?>   
<div class="sidebar-child">
        <div class="list-user">
                <ul>
                        <?php foreach ($listUser as $key => $value) { ?>
                        <li data-toggle="tooltip" data-placement="left" title="<?php echo $value->display_name; ?>">
                                <p><?php echo $value->display_name; ?></p>
                                <p><?php echo the_author_meta( 'address', $value->ID ); ?></p>
                                <a class="ico-brod">
                                        <?php echo get_avatar( $value->user_email, 40 ); ?>
                                </a>
                        </li>
                        <?php } ?>
                </ul>
        </div>
</div>

Phần kết:

Như vậy hôm nay mình đã hướng dẫn các bạn về chức năng custom user field, hi vọng nó sẽ hữu ích trong quá trình học lập trình theme của các bạn.

Hẹn gặp lại các bạn trong những bài viết tiếp theo.

Via: sieucoder.com



from sieucoder.com https://ift.tt/3rB3s8S
via Sieucoder.com

Nhận xét