- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
WordPress cho phép bạn tạo các bài đăng được bảo vệ bằng mật khẩu. Gần đây, một trong những độc giả của chúng tôi đã hỏi liệu có thể ẩn các bài đăng được bảo vệ bằng mật khẩu khỏi trang web hay không. Theo mặc định, WordPress ẩn nội dung của bài đăng được bảo vệ bằng mật khẩu, nhưng nó vẫn hiển thị tiêu đề bài đăng. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách ẩn các bài đăng được bảo vệ bằng mật khẩu trong WordPress.
Tại sao nên ẩn bài viết có mật khẩu trong WordPress?
Theo mặc định, WordPress hiển thị bài đăng được bảo vệ bằng mật khẩu với tiêu đề và tiền tố ‘protected’. Người dùng sẽ cần nhập mật khẩu để xem nội dung của bài đăng.
Tiêu đề bài đăng này hiển thị trên trang chủ, archives, tiện ích bài đăng gần đây, v.v … Nếu bạn muốn giữ một số nội dung hoàn toàn riêng tư, thì đây không phải là một lý tưởng.
Không chỉ người dùng không có mật khẩu mới có thể xem tiêu đề bài đăng, họ cũng có thể thử nhập mật khẩu. Như chúng ta đã biết, mật khẩu có thể bị bẻ khóa. Bài viết này sẽ giúp bạn ẩn các bài đăng được bảo vệ bằng mật khẩu trong danh sách posts để những người dùng khác không thể nhìn thấy chúng.
Ẩn các bài viết được bảo vệ bằng mật khẩu trong WordPress
Bạn chèn đoạn code sau vào cuối tệp functions.php
function wp_password_post_filter( $where = '' ) { if (!is_single() && !is_admin()) { $where .= " AND post_password = ''"; } return $where; } add_filter( 'posts_where', 'wp_password_post_filter' );
Mã này chỉ đơn giản là sửa đổi truy vấn SQL sử dụng bộ lọc posts_where
. Nó yêu cầu WordPress tìm nạp tất cả các bài đăng không có mật khẩu.
Truy cập trang web của bạn và bạn sẽ thấy các bài đăng được bảo vệ bằng mật khẩu không còn hiển thị trên trang chủ, trang archives hoặc trong các tiện ích như các bài đăng gần đây.
Bạn vẫn có thể truy cập bài viết bằng cách truy cập nó thông qua một URL trực tiếp đến chính bài đăng đó.
Ví dụ trên, ẩn các bài đăng được bảo vệ bằng mật khẩu từ tất cả người dùng. Điều gì sẽ xảy ra nếu bạn chạy một trang web WordPress có nhiều tác giả và muốn người dùng có thể xem các bài đăng được bảo vệ để có thể chỉnh sửa các bài đăng riêng tư?
Chỉ cần sửa đổi mã trên bằng một điều kiện khác, như thế này:
function wp_password_post_filter( $where = '' ) { if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) { $where .= " AND post_password = ''"; } return $where; } add_filter( 'posts_where', 'wp_password_post_filter' );
Trong đoạn mã trên, chúng ta kiểm tra xem người dùng có thể chỉnh sửa các bài đăng được bảo vệ bằng mật khẩu hay không, sau đó chỉ hiển thị các bài đăng không có mật khẩu. Làm như vậy tất cả người dùng với vai trò người dùng của quản trị viên và biên tập viên sẽ thấy các bài đăng được bảo vệ bằng mật khẩu trên trang web của bạn.
Hy vọng bài viết này có thể giúp bạn ẩn các bài viết được bảo vệ bằng mật khẩu trong WordPress. Chúc bạn thành công!
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 Messenger
- Gmail
- Viber
- Skype