Những điểm chính
• Khái niệm: Hiểu bản chất lỗi liên quan đến output bất thường trước khi gửi header.
• Nguyên nhân: Nắm được các lý do như khoảng trắng thừa, lỗi plugin hoặc BOM.
• Cách khắc phục: Biết cách kiểm tra file, tắt plugin và debug để xử lý nhanh chóng.
Lỗi Cookies are blocked due to unexpected output là gì?
Đây là lỗi xuất hiện khi có dữ liệu (kể cả khoảng trắng) được gửi ra trình duyệt trước khi WordPress thiết lập cookie. Vì cookie phải được gửi thông qua header HTTP, nên chỉ cần có output trước đó là quá trình này sẽ thất bại.
Hệ quả là:
-
Không đăng nhập được vào admin
-
Một số chức năng hoạt động không ổn định

Nguyên nhân chính gây lỗi
Khoảng trắng hoặc dòng trống trong file PHP
Các file như wp-config.php, functions.php hoặc file plugin nếu có khoảng trắng trước <?php hoặc sau ?> sẽ gây ra output không mong muốn.
Plugin hoặc theme sinh output
Một số plugin hoặc theme có thể in ra nội dung (echo, print, warning…) trước khi WordPress xử lý cookie.
Ký tự BOM (Byte Order Mark)
File lưu ở định dạng UTF-8 BOM sẽ chứa ký tự ẩn ở đầu file, bị server coi là output.
Xung đột code
Code mới thêm hoặc chỉnh sửa có thể gây lỗi hoặc xung đột với hệ thống.
Hiển thị lỗi PHP
Nếu server bật hiển thị warning/error, chính các thông báo này cũng gây ra output ngoài ý muốn.
4 cách xử lý lỗi Cookies are blocked due to unexpected output
Kiểm tra và xóa output thừa trong file PHP
Truy cập hosting qua File Manager hoặc FTP:
-
Mở các file: wp-config.php, functions.php
-
Xóa khoảng trắng, dòng trống hoặc ký tự lạ
-
Đảm bảo file bắt đầu ngay từ
<?php
Sau đó lưu lại và thử đăng nhập.
Vô hiệu hóa toàn bộ plugin
Đổi tên thư mục:
Hoặc tắt toàn bộ plugin trong admin (nếu vào được).
Sau đó:
-
Nếu login được → lỗi do plugin
-
Bật lại từng plugin để tìm thủ phạm
Chuyển sang theme mặc định
Kích hoạt theme mặc định như Twenty Twenty Four hoặc Twenty Twenty Five.
Nếu không vào được admin:
-
Đổi tên thư mục theme hiện tại
-
Upload theme mặc định vào wp-content/themes
Nếu hết lỗi → nguyên nhân nằm ở theme.
Bật debug để tìm file lỗi
Mở file wp-config.php và thêm:
Sau đó:
-
Kiểm tra file
/wp-content/debug.log
-
Xác định plugin/theme/file gây lỗi