Xem 17,523
Cập nhật nội dung chi tiết về Xây Dựng Chức Năng Đăng Nhập Thông Qua Zalo Cho WordPress mới nhất ngày 20/05/2022 trên website Photomarathonasia.com. Hy vọng thông tin trong bài viết sẽ đáp ứng được nhu cầu ngoài mong đợi của bạn, chúng tôi sẽ làm việc thường xuyên để cập nhật nội dung mới nhằm giúp bạn nhận được thông tin nhanh chóng và chính xác nhất. Cho đến nay, bài viết này đã thu hút được 17,523 lượt xem.
--- Bài mới hơn ---
Việc xây dựng chức năng đăng nhập website sử dụng các mã xã hội ngày nay đã rất phổ biến với sự phát triển mạnh mẽ của các mạng xã hội trên thế giới: Facebook, Google, Twitter, LinkedIn,…
Tại Việt Nam, mạng xã hội Zalo cũng rất phát triển và bạn cũng có thể xây dựng chức năng đăng nhập Zalo cho website của mình.
Trong bài viết này, tôi sẽ hướng dẫn bạn cách xây dựng chức năng đăng nhập Zalo cho website WordPress.
Tạo ứng dụng Zalo
Bạn truy cập đường link sau để tạo ứng dụng: https://developers.zalo.me
Thiết lập ứng dụng Zalo
- Callback URL: Nhập link chuyển hướng sau khi đăng nhập thành công (Nhanh nhất là để link trang chủ website của bạn). Phần này bắt buộc phải nhập, nếu không chức năng sẽ không sử dụng được
- Home URL: Link chuyển đi khi bạn mời người khác sử dụng ứng dụng (Có thể bỏ qua)
Cuối cùng, đừng quên bấm ” Lưu thay đổi ” để lưu lại
Code hàm Insert User vào WordPress
Bạn mở file chúng tôi trong theme bạn đang sử dụng và chèn vào đoạn code sau:
<?php
function process_new_user($email, $first_name, $last_name){
$check_user = email_exists( $email );
$check_user_name = username_exists($email);
// is exits
$id_new_user = $check_user;
}else{
$id_new_user = $check_user_name;
}else{
$args = array (
) ;
$id = wp_insert_user( $args ) ;
if(isset($id) && !empty($id)) {
$id_new_user = $id;
}else{
return false;
}
}
}
if ( is_wp_error($id_new_user) ){
}else{
wp_set_current_user($id_new_user);
wp_set_auth_cookie($id_new_user);
wp_redirect(get_bloginfo('url'));
}
}
Khai báo hằng số để thiết lập các giá trị mặc định
Chúng ta có 3 giá trị mặc định: APP ID, Secret Key, Callback URL để thực thi việc login vào WordPress.
Trong đó:
- APP ID và Secret Key bạn lấy trong ứng dụng Zalo các bạn đã tạo ở trên
- Callback URL: Chúng ta sẽ tự tạo link (Ở đây tôi sử dụng Rest API của WordPress)
Các bạn khai báo hằng số như sau (Bỏ vào đầu file chúng tôi của theme bạn đang dùng):
<?php
define('ZALO_APP_ID', 'Key cua ban');
define('ZALO_APP_SECRET', 'Key cua ban');
define('ZALO_APP_CALLBACK_URL',get_bloginfo('url').'/wp-json/login-social/v1/login-zalo-callback');
Viết hàm Render Link đăng nhập Zalo
Bạn cần phải viết hàm Render ra link đăng nhập Zalo để đăng nhập vào nút đăng nhập mà bạn muốn chèn.
Bạn chỉ cần bỏ đoạn code sau vào file chúng tôi của theme bạn đang dùng
<?php
function login_zalo_render_func(){
return 'https://oauth.zaloapp.com/v3/permission?app_id='.ZALO_APP_ID.'&redirect_uri='.ZALO_APP_CALLBACK_URL.'&state=';
}
Nếu muốn gọi link này tại nút đăng nhập bạn muốn chèn, bạn chỉ cần gọi hàm bằng cú pháp sau:
Tạo link Callback và hàm thực thi đăng nhập
Trong bài hướng dẫn này, tôi sử dụng hook action "rest_api_init" và hàm register_rest_route() để tạo link.
Bạn chỉ cần đoạn code sau vào file chúng tôi của theme bạn đang dùng
<?php
add_action( 'rest_api_init', function () {
register_rest_route( 'login-social/v1','/login-zalo-callback', array(
) );
});
2 tham số đầu tiên của hàm register_rest_route() bạn có thể tự thay đổi theo mong muốn của bạn. (Chỉ có điều nếu bạn thay đổi bạn cần phải sửa lại hằng số đã khai báo)
Tham số thứ 3 tôi có đặt tên hàm callback là login_zalo_callback_func thì bạn cần viết 1 hàm giống y hệt như vậy.
Hàm đó như sau:
<?php
function login_zalo_callback_func(){
if (isset($_GET;
$request_url = 'https://oauth.zaloapp.com/v3/access_token?app_id='.ZALO_APP_ID.'&app_secret='.ZALO_APP_SECRET.'&code='.$code;
$response_access = file_get_contents($request_url);
$response_access = json_decode( $response_access, true );
if (!empty($response_access)){
$access_token = $response_access.'[email protected]'.$_SERVER , '');
}
}
}
Lưu ý: Do Zalo không lấy được email nên tôi tạo 1 email dạng: [email protected]
Ngoài ra, bạn có thể tuỳ biến tạo thêm field cho users để update số điện thoại (Vì Zalo cho lấy số điện thoại)
Kết luận
--- Bài cũ hơn ---
Bạn đang đọc nội dung bài viết Xây Dựng Chức Năng Đăng Nhập Thông Qua Zalo Cho WordPress trên website Photomarathonasia.com. Hy vọng một phần nào đó những thông tin mà chúng tôi đã cung cấp là rất hữu ích với bạn. Nếu nội dung bài viết hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!