Tạo trang Xem và Sửa thông tin thành viên WordPress

Thông thường khi sử dụng WordPress,Thành Viên cần phải vào trang quản trị mới có thể thay đổi thông tin. Nhưng Bạn hoàn toàn có thể giúp thành viên của mình sửa thông tin ấy ngay ngoài trang chủ một cách đơn giản và tiện lợi. Tạo trang Xem và Sửa thông tin thành viên WordPress Ưu điểm : Giúp thành viên dễ dàng hơn trong việc quản trị thông tin của mình Dễ dàng thay đổi cách hiển thị vì mỗi dòng code đều do bạn tạo ra Không sử dụng plugin, Javascript nên trang sẽ load nhẹ hơn Tạo cảm hứng cho các bạn thích trinh phục wordpress nâng cao, tự tạo chức năng Bắt đầu Tạo trang Xem và Sửa thông tin thành viên WordPress nào! Đầu tiên bạn tìm file : author.php trong thư mục Theme của mình, nếu chưa có thì bạn tạo nó nhé (File này mặc định sẽ là trang thông tin Thành Viên) Cũng như các hướng dẫn khác, mình sẽ giải thích từng phần và có 1 file tổng hợp lại giúp bạn dễ hiểu hơn. – Lấy thông tin thành viên ID; if($user_id == $author_id) { // Hiển thị Form sửa thông tin thành viên } else { // Hiển thị thông tin thành viên } ?> Giải thích : $user_id : Lấy ID của thành viên hiện tại get_user_by() : Hàm này giúp bạn lấy thông tin của thành viên bạn đang xem $author_id : Lấy ID của thành viên bạn đang xem if($user_id == $author_id) : Nếu ID của bạn trùng với ID của thành viên đang xem (có nghĩa bạn đang xem thông tin của chính mình) if:else : Nếu là bạn thì hiển thị ra khung chỉnh sửa thông tin, ngược lại sẽ hiển thị thông tin thành viên bạn đang xem – Form Sửa thông tin thành viên
Bạn có thể thấy trong các input Value của mình đều có dạng: 1 Đây chính là hàm lấy ra thông tin của của thành viên. Ví dụ bạn lấy ra email của thành viên : 1 Một số trường thành viên WordPress hỗ trợ: nickname : Hiển thị họ tên user_email : Hiển thị Email user_url : Hiển thị Website description : Mô tả ngắn thành viên Ngoài ra bạn cũng có thể thêm Trường bằng cách thêm đoạn này vào file functions.php function add_fields_user($profile_fields){ $profile_fields['googleplus'] = 'Google+'; $profile_fields['twitter'] = 'Twitter username'; $profile_fields['facebook'] = 'Facebook profile URL'; return $profile_fields; } add_filter('user_contactmethods', 'add_fields_user'); Tạo trang Xem và Sửa thông tin thành viên WordPress – Xử lý thông tin khi sửa if( isset( $_POST['user_profile_nonce_field'] ) && wp_verify_nonce( $_POST['user_profile_nonce_field'], 'user_profile_nonce' ) ) { if ( !empty($_POST['pass1'] ) && !empty( $_POST['pass2'] ) ) { if ( $_POST['pass1'] == $_POST['pass2'] ) wp_update_user( array( 'ID' => $current_user->ID, 'user_pass' => esc_attr( $_POST['pass1'] ) ) ); else echo $error[] = __('Mật khẩu của bạn không được cập nhật', 'profile'); } /* Update thông tin user. */ if ( !empty( $_POST['user_url'] ) ){ wp_update_user( array( 'ID' => $current_user->ID, 'user_url' => esc_url( $_POST['user_url'] ) ) ); } if ( !empty( $_POST['nickname'] ) ) { update_user_meta( $current_user->ID, 'nickname', esc_attr( $_POST['nickname'] ) ); } if ( !empty( $_POST['twitter'] ) ) { update_user_meta( $current_user->ID, 'twitter', esc_attr( $_POST['twitter'] ) ); } if ( !empty( $_POST['googleplus'] ) ) { update_user_meta( $current_user->ID, 'googleplus', esc_attr( $_POST['googleplus'] ) ); } if ( !empty( $_POST['facebook'] ) ) { update_user_meta( $current_user->ID, 'facebook', esc_attr( $_POST['facebook'] ) ); } if ( !empty( $_POST['description'] ) ){ update_user_meta( $current_user->ID, 'description', esc_attr( $_POST['description'] ) ); } echo '
Bạn đã sửa thông tin cá nhân thành công!
'; } Giải thích if( isset()) : Kiểm tra tồn tại và xác nhận nonce field $_POST[‘tên trường’] : Lấy giá trị từ các trường trong form bên trên wp_update_user() : Đưa thông tin vào cơ sở dữ liệu – Hiển thị thông tin thành viên:
  • :
Cuối cùng ta có 1 file author.php hoàn chỉnh:

Thông tin thành viên

ID; if($user_id == $author_id) { ?> $current_user->ID, 'user_pass' => esc_attr( $_POST['pass1'] ) ) ); else echo $error[] = __('Mật khẩu của bạn không được cập nhật', 'profile'); } /* Update thông tin user. */ if ( !empty( $_POST['user_url'] ) ){ wp_update_user( array( 'ID' => $current_user->ID, 'user_url' => esc_url( $_POST['user_url'] ) ) ); } if ( !empty( $_POST['nickname'] ) ) { update_user_meta( $current_user->ID, 'nickname', esc_attr( $_POST['nickname'] ) ); } if ( !empty( $_POST['twitter'] ) ) { update_user_meta( $current_user->ID, 'twitter', esc_attr( $_POST['twitter'] ) ); } if ( !empty( $_POST['googleplus'] ) ) { update_user_meta( $current_user->ID, 'googleplus', esc_attr( $_POST['googleplus'] ) ); } if ( !empty( $_POST['facebook'] ) ) { update_user_meta( $current_user->ID, 'facebook', esc_attr( $_POST['facebook'] ) ); } if ( !empty( $_POST['description'] ) ){ update_user_meta( $current_user->ID, 'description', esc_attr( $_POST['description'] ) ); } echo '
Bạn đã sửa thông tin cá nhân thành công!
'; } ?>
  • :
Tạo trang Xem và Sửa thông tin thành viên WordPress Như vậy với những bước bên trên bạn đã tạo ra được trang Xem hoặc sửa thành viên theo phong cách của mình rồi. Nếu có bất kỳ câu hỏi nào hãy gửi vào khung bình luận cho mình nhé 🙂 Chúc các bạn thành công!
SHARE

trungthan

  • Image
  • Image
  • Image
  • Image
  • Image

0 nhận xét:

Đăng nhận xét