Hướng dẫn này mình hướng đến tạo giá trị - hỗ trợ mọi người và không nhằm mục đích thương mại. Trong hướng dẫn này mình chỉ vào trọng tâm tất tần tật về tùy biến website bằng code (hạn chế plugin nhiều nhất có thể) nên nội dung nó sẽ cực kỳ ngắn và không vòng vo. Hi vọng bạn không quá khó chịu vì sự quá ngắn gọn của mình.
- CODE chỉnh sửa mình thường can thiệp trực tiếp vào file (mục đích là để dễ kiểm soát vị trí hiển thị hơn là sử dụng hook)
- Nếu bạn có khó khăn hay cần mình hỗ trợ bất kì nội dung nào thì hãy để lại bình luận phía bên dưới, mình sẽ sớm ra nội dung hướng dẫn bạn.
- Nếu bạn thấy website mình có gì hay ho muốn ứng dụng lên website bạn thì liên hệ với mình để được hỗ trợ!
Cách thay đổi Email Admin WordPress cần xác nhận email
Nếu bạn đã từng thử thay đổi Administration Email Address trong WordPress (tại Settings → General), bạn sẽ thấy rằng WordPress không áp dụng ngay lập tức. Thay vào đó, hệ thống sẽ gửi một email xác nhận đến địa chỉ mới, và chỉ khi người nhận click vào link xác nhận, email mới chính thức được cập nhật.
Nghe có vẻ ổn, nhưng trên thực tế — đặc biệt với anh em làm dịch vụ website — đây là một điểm gây khó chịu không nhỏ.
Có rất nhiều tình huống thực tế mà việc xác nhận qua email là bất khả thi hoặc bất tiện:
- Localhost / môi trường dev: Server không cấu hình gửi email, email xác nhận không bao giờ đến nơi.
- Bàn giao website cho khách hàng: Ngày ra mắt bận rộn, nhờ khách click link xác nhận là thêm một bước không cần thiết.
- Email cũ không còn tồn tại: Địa chỉ cũ đã bị xóa hoặc không truy cập được, không thể nhận thông báo.
- Server không có outbound email: Hosting giá rẻ hoặc VPS chưa cấu hình SMTP thường không gửi được email.
- Test/staging site: Môi trường thử nghiệm thường xuyên cần đổi email qua lại.
- Migration website: Sau khi di chuyển site từ host cũ sang host mới, hệ thống mail chưa hoạt động ngay.
Các cách thay đổi admin email không cần xác nhận
Cách 1: Chỉnh Trực tiếp qua phpMyAdmin (Database)
Đây là cách phổ biến nhất, không cần cài thêm bất cứ thứ gì.
Các bước thực hiện:
- Đăng nhập vào phpMyAdmin (qua FastPanel, CyberPanel, DirectAdmin, hoặc cPanel).
- Chọn database của website WordPress cần chỉnh sửa.
- Tìm bảng
wp_options(prefix có thể khác, ví dụabc_options). - Tìm dòng có
option_name=admin_email. - Click Edit và thay giá trị trong cột
option_valuethành email mới. - Lưu lại.

Lưu ý quan trọng: Đây là cách nhanh nhất và không ảnh hưởng đến bất kỳ chức năng nào khác của WordPress
- Nếu trước đó bạn đã thay đổi email qua giao diện WordPress (nhưng chưa xác nhận), WordPress sẽ lưu email “đang chờ xác nhận” trong option
new_admin_email. Hãy xóa dòng đó đi để tránh thông báo “The new address will not become active until confirmed” vẫn hiện lên. - Luôn backup database trước khi chỉnh sửa trực tiếp.
Cách 2: Dùng WP-CLI (Dành Cho Developer / Sysadmin)
Nếu bạn có SSH access vào server, đây là cách nhanh và sạch nhất — một dòng lệnh là xong.
wp option update admin_email "[email protected]" --allow-rootNếu site có prefix bảng tùy chỉnh:
wp option update admin_email "[email protected]" --url=https://yoursite.com --allow-rootKiểm tra lại sau khi đổi:
wp option get admin_emailXóa pending email (nếu trước đó đã thử đổi qua admin nhưng chưa xác nhận):
wp option delete new_admin_emailƯu điểm của WP-CLI:
- Không cần giao diện web.
- Có thể thực hiện cho nhiều site cùng lúc bằng script.
- Nhanh, chính xác, không rủi ro nhầm bảng trong database.
Cách 3: Dùng Code PHP (Hook Filter)
Đây là phương pháp dành cho developer, đặc biệt hữu ích khi bạn muốn khóa cứng admin email và không cho phép thay đổi qua giao diện.
Thêm đoạn code sau vào file functions.php của theme hoặc tốt hơn là vào một Must-Use Plugin (/wp-content/mu-plugins/):
<?php
/**
* Bỏ qua bước xác nhận khi thay đổi admin email
* Hoặc khóa cứng admin email theo ý muốn
*/
// Cách 1: Tắt hoàn toàn bước xác nhận (cho phép đổi tự do qua Settings > General)
add_filter( 'new_admin_email_content', '__return_false' );
// Cách 2: Khóa cứng admin email (dù ai đó đổi trong Settings, vẫn dùng email này)
add_filter( 'pre_option_admin_email', function() {
return '[email protected]';
});Hoặc nếu chỉ muốn tắt xác nhận khi đổi qua Settings mà không khóa cứng:
<?php
/**
* Cho phép thay đổi admin email không cần xác nhận
* Thêm vào mu-plugins hoặc functions.php
*/
add_filter( 'send_email_change_email', '__return_false' );
add_action( 'update_option_new_admin_email', function( $old_value, $new_value ) {
update_option( 'admin_email', $new_value );
delete_option( 'new_admin_email' );
}, 10, 2 );Lưu ý khi dùng code:
- Không nên add vào
functions.phpcủa theme vì sẽ mất khi update theme. Dùng child theme hoặc must-use plugin là chuẩn nhất. - Phương pháp khóa cứng (Cách 2) đặc biệt hữu ích khi bạn muốn đảm bảo admin email luôn là của bạn (agency/freelancer) dù client có vô tình đổi sang email khác.
Lưu ý quan trọng khi thay đổi Email Admin
Admin email ≠ Email của user admin: admin_email trong wp_options là email dùng cho thông báo hệ thống (WordPress updates, form notifications, v.v.), khác với email đăng nhập của tài khoản Administrator trong wp_users. Đừng nhầm lẫn hai khái niệm này.
Backup trước khi sửa database: Dù thao tác đơn giản, luôn nên backup database trước khi chỉnh sửa trực tiếp. Một dòng lệnh nhanh:
mysqldump -u root -p ten_database > backup_$(date +%Y%m%d).sqlKiểm tra sau khi đổi: Vào Settings → General để xác nhận email hiển thị đúng, và gửi một email test để đảm bảo thông báo đang đến đúng hòm thư.
Tuỳ vào trường hợp, bạn nên chọn phương pháp phù hợp với mình để thuận tiện trong công việc hơn nhé!
Nội dung có tham khảo từ Vũ trụ số
Nếu bạn gặp khó khăn trong chỉnh sửa hoặc muốn phát triển tính năng riêng cho website thì có thể tham khảo dịch vụ bảo trì - phát triển tính năng website wordpress tại TNDigi nhé!
Mình tự học - tìm hiểu - nghiên cứu và làm việc với WordPress được khoảng thời gian nhất định nên lên serial chia sẻ những gì mà mình từng gặp qua. Sẽ có nhiều thiếu sót nên nếu như có chổ nào chưa đúng hay chưa hoạt động được bạn contact với mình để hoàn thiện hơn.
Ghi chú quan trọng:
Cách tuỳ biến không cần can thiệp vào CODE mà sử dụng hook (nếu chưa có trong hướng dẫn) sẽ được mình sớm cập nhật!
Kênh Zalo hỗ trợ miễn phí. Chúc bạn áp dụng thành công!
Tặng mình 1 vote tăng động lực ra thêm nội dung:TNDigi cho ra mắt Hướng dẫn thiết kế website bằng wordpress từ cơ bản đến nâng cao miễn phí
Hướng dẫn gồm có 2 phần: phần 1 hướng dẫn bạn cách làm website | phần 2 hướng dẫn bạn tuỳ biến, phát triển tính năng website bằng CODE


