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 một 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 có tiền tố ‘Được bảo vệ’. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách ẩn các bài đăng được bảo vệ bằng mật khẩu khỏi vòng lặp WordPress.
Tại sao phải ẩn bài viết được bảo vệ bằng 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ố ‘được bảo vệ’. Người dùng sẽ cần nhập mật khẩu để xem nội dung bài đăng.
Tiêu đề bài đăng này hiển thị trên trang chủ, kho lưu trữ, 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à lý tưởng.
Không chỉ những 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.
Đã nói rằng, chúng ta hãy xem cách ẩn các bài đăng được bảo vệ bằng mật khẩu của bạn khỏi vòng lặp WordPress để người dùng khác không thể nhìn thấy chúng.
Ẩn bài đăng được bảo vệ bằng mật khẩu trong WordPress
Chỉ cần thêm mã này vào tệp functions.php của chủ đề của bạn hoặc một plugin dành riêng cho trang web .
function wpb_password_post_filter( $where="" ) { if (!is_single() && !is_admin()) { $where .= " AND post_password = ''"; } return $where; } add_filter( 'posts_where', 'wpb_password_post_filter' );
Mã này chỉ đơn giản là sửa đổi truy vấn được gửi đến WordPress bằng cách 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 rằng 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ủ, kho lưu trữ 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 đăng 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 khỏi 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 nhiều tác giả và muốn người dùng có thể xem các bài đăng được bảo vệ với khả năng 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 thẻ có điều kiện khác, như sau:
function wpb_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', 'wpb_password_post_filter' );
Trong ví dụ này, chúng tôi kiểm tra xem người dùng không 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 có vai trò 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 giao diện người dùng của trang web của bạn.
Chúng tôi hy vọng bài viết này đã giúp bạn ẩn các bài đăng được bảo vệ bằng mật khẩu khỏi vòng lặp WordPress trên trang web của bạn. Bạn cũng có thể muốn xem hướng dẫn của chúng tôi về cách thay đổi tiền tố bài đăng riêng tư và được bảo vệ trong WordPress.
.