- 1. Ý tưởng hoạt động
- 2. Tạo trang bảo trì (HTML đơn giản)
- 3. Thêm mã PHP vào functions.php
- 4. Bật / tắt chế độ bảo trì
- 5. Mở rộng nâng cao
- 6. Thêm tùy chọn bật/tắt bảo trì trong trang quản trị
- Bước 1: Thêm trang cài đặt đơn giản
- Bước 2: Cập nhật logic hiển thị chế độ bảo trì
- Bước 3: Giao diện đẹp hơn?
- Kết luận mở rộng
- Tổng kết
1. Ý tưởng hoạt động
Chúng ta sẽ sử dụng hook template_redirect
để chặn mọi truy cập, trừ quản trị viên đã đăng nhập. Khi truy cập từ người dùng thông thường, WordPress sẽ hiển thị một trang HTML đơn giản thông báo website đang được bảo trì.
2. Tạo trang bảo trì (HTML đơn giản)
Tạo một file mới có tên maintenance.html
trong thư mục gốc của theme hoặc bất kỳ đâu bạn muốn. Ví dụ nội dung như sau:
3. Thêm mã PHP vào functions.php
Dán đoạn mã dưới đây vào file functions.php
của theme hiện tại:
4. Bật / tắt chế độ bảo trì
- Để bật: đơn giản chỉ cần đảm bảo file
maintenance.html
tồn tại trong thư mục theme. - Để tắt: xóa file đó đi, hoặc đổi tên nó thành tên khác.
5. Mở rộng nâng cao
- Chỉ bảo trì frontend, vẫn cho truy cập REST API hoặc AJAX.
- Cho phép whitelist IP.
- Hiển thị thời gian dự kiến hoàn tất bảo trì.
Mẹo: Hãy luôn dùng
status_header(503)
để công cụ tìm kiếm không index nội dung trong thời gian bảo trì.
6. Thêm tùy chọn bật/tắt bảo trì trong trang quản trị
Để giúp người dùng không phải xóa thủ công file maintenance.html
, ta có thể thêm một tùy chọn trong admin để bật/tắt chế độ bảo trì nhanh chóng.
Bước 1: Thêm trang cài đặt đơn giản
Thêm đoạn sau vào functions.php
để tạo một mục “Bảo trì” trong menu cài đặt:
Bước 2: Cập nhật logic hiển thị chế độ bảo trì
Thay đổi hàm custom_maintenance_mode()
như sau:
Bước 3: Giao diện đẹp hơn?
Bạn có thể tạo trang maintenance.html
riêng có thiết kế đẹp hơn, thêm logo, nút liên hệ hoặc cả đồng hồ đếm ngược nếu muốn.
Kết luận mở rộng
Việc bổ sung tùy chọn quản trị giúp người dùng không cần động đến mã nguồn hay FTP. Đây là một giải pháp đơn giản, gọn nhẹ và cực kỳ dễ bảo trì. Hãy lưu sẵn trang bảo trì và chỉ cần tick chọn là website sẽ chuyển sang chế độ nghỉ ngơi ngay tức thì.
Tổng kết
Chỉ với một đoạn code đơn giản, bạn có thể nhanh chóng tạo chế độ bảo trì cho WordPress mà không cần cài thêm plugin. Cách làm này nhẹ nhàng, bảo mật hơn và dễ kiểm soát. Rất phù hợp cho những ai muốn tối ưu hóa trang WordPress theo cách tối giản nhất.
Bình Luận