Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Thiết kế web giá rẻ
    • Thiết kế website WordPress
    • Hosting Miễn Phí 100GB
    • Tích hợp thanh toán MoMo, ViettelPay, Vietcombank, MB..
    • Tối ưu Google PageSpeed
    • Sửa lỗi nâng cấp website
    • Viết plugin WordPress
    • Code Tool theo yêu cầu
  • Bảng giá
  • Quy trình làm việc
  • Giới thiệu
  • Liên Lạc
Trang chủ » Wordpress » Tùy biến Email đăng ký thành viên trong WordPress

Tùy biến Email đăng ký thành viên trong WordPress

Thứ Ba, 10/03/2020 by Hoàng Quách

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Nếu có người dùng đăng ký mới tại một trang web WordPress, người dùng đó và quản trị viên nhận được 1 email thông báo với nội dung như sau:

User:

From: myBlog ([email protected])
Subject: [myBlog] Your username and password info

Username: new_user

To set your password, visit the following address:<http://myblog/mylogin.php?action=rp&key=3oCJkevP1ZSSb0P8DlOW&login=new_user>

http://myblog/mylogin.php

Admin:

From: myBlog ([email protected])
Subject: [myBlog] New User Registration

New user registration on your site myBlog:

Username: new_user

Email: [email protected]

Đến phiên bản 4.8 nội dung trong mail rất khó tùy chỉnh. Cách duy nhất để thay đổi nội dung của mail là sử dụng hook vào hàm  wp_mail() hoặc thậm chí PHPMailer.

WordPress v4.9 hiện nay đã cung cấp khả năng tùy chỉnh dễ dàng các nội dung thông báo mail bằng cách sử dụng các hook action & filter trong WordPress với:

  • wp_new_user_notification_email
  • wp_new_user_notification_email_admin

Các bộ lọc được sử lý sau khi người dùng thêm mới vào cơ sở dữ liệu.

Các bộ lọc để thông báo email dành cho người dùng và quản trị viên theo cùng một logic, chỉ khác về tên biến & giá trị:

$wp_new_user_notification_email_admin = apply_filters( 'wp_new_user_notification_email_admin', $wp_new_user_notification_email_admin, $user, $blogname );

Giải thích tham số:

  • $wp_new_user_notification_email_admin: Mảng Array gồm các keys:  subject, message, headers
  • $user: đối tượng WP_User của người dùng đã đăng ký
  • $blogname: tên wordpress blog mà người dùng đăng ký

Với những thông tin mà hook cung cấp bạn có thể dễ dàng tạo mail tùy chỉnh cho riêng mình:

add_action( 'login_init', 'my_wp_new_user_notification_email_admin_init' );

function my_wp_new_user_notification_email_admin_init() {
    add_filter( 'wp_new_user_notification_email_admin', 'my_wp_new_user_notification_email_admin', 10, 3 );
}

function my_wp_new_user_notification_email_admin( $wp_new_user_notification_email, $user, $blogname ) {
    $wp_new_user_notification_email['subject'] = sprintf( '[%s] New user %s registered.', $blogname, $user->user_login );
    $wp_new_user_notification_email['message'] = sprintf( "%s ( %s ) has registerd to your blog %s.", $user->user_login, $user->user_email, $blogname );

    return $wp_new_user_notification_email;
}

Nội dung mail bây giờ trông như thế này:

Từ: myBlog ([email protected]) Subject: New user new_user registered.new_user ([email protected]) có registerd vào blog của bạn myBlog.

Tất nhiên, bạn có thể chèn thêm dữ liệu nếu muốn. Ví dụ, bạn có thể cho admin biết, bao nhiêu người dùng đã đăng ký blog với đoạn code sau:

function my_wp_new_user_notification_email_admin($wp_new_user_notification_email, $user, $blogname) {

    $user_count = count_users();

    $wp_new_user_notification_email['subject'] = sprintf('[%s] New user %s registered.',
$blogname, $user->user_login);
    $wp_new_user_notification_email['message'] =
    sprintf( "%s has registerd to your blog %s.", $user->user_login, $blogname) .
"\n\n\r" . sprintf("This is your %d. user!", $user_count['total_users']);

    return $wp_new_user_notification_email;

}

Tham số headers có thể được sử dụng để thay đổi một số thông tin về tiêu đề:

$wp_new_user_notification_email['headers'] = "From: myBlog <[email protected]> \n\r cc: Admin 2 <[email protected]>";

Trong ví dụ này From  chứa thông tin của mail được thay đổi và người dùng admin2@myblog được thêm với tư cách là người nhận bổ sung. Như bạn có thể thấy, các nội dung thêm vào headers sẽ được phân cách bằng “\n\r”.

Như mình đã đề cập ở phía trước, tất cả có thể được thực hiện bằng cách sử dụng hàm wp_mail() và PHPMailer nhưng các bộ lọc mới mang lại giải pháp thuận tiện hơn.

Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên Twitter và Facebook

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Chuyên mục: Wordpress Tìm kiếm: email thông báo

Tôi giúp gì cho bạn?

HOÀNG WEB

Địa chỉ: Tây Sơn, Phường Quang Trung, Quận Đống Đa, Hà Nội

Hotline: 0987 342 124 – 0868 292 303 (8h:00 – 21h:00)

Email: [email protected]

Website: www.hoangweb.com

KẾT NỐI VỚI TÔI

  • Facebook
  • GitHub
  • YouTube

SẢN PHẨM

  • Plugin Thanh Toán Quét Mã QR Code Tự Động
  • WP2Speed – Tối ưu Google Speed
  • 23WebHost – Hosting Miễn Phí 100GB

LIÊN KẾT

  • Có nên thuê thiết kế website giá rẻ?
  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2023 | All rights reserved | HOANG WEB
Mọi hình thức sao chép nội dung trên website này mà chưa được sự đồng ý đều là trái phép.