Làm thế nào để ẩn các bài viết được bảo vệ bằng mật khẩu từ WordPress Loop

WordPress cho phép bạn tạo các bài viết đượ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 nếu có thể ẩn các bài viết được bảo vệ bằng mật khẩu từ trang web. Theo mặc định, WordPress sẽ ẩn nội dung của một bài viết được bảo vệ bằng mật khẩu, nhưng nó vẫn hiển thị tiêu đề bài với tiền tố ‘Được bảo vệ’. Trong bài này, chúng tôi sẽ chỉ cho bạn cách ẩn bài viết được bảo vệ bằng mật khẩu từ vòng lặp WordPress.

Tại sao ẩn bài viết được bảo vệ bằng mật khẩu trong WordPress?

Theo mặc định, WordPress sẽ hiển thị bài viết được bảo vệ bằng mật khẩu với tiêu đề của nó 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 của bài đăng.

Bài đăng được bảo vệ bằng mật khẩu được hiển thị trên trang chủ và trong tiện ích con

Tiêu đề bài đăng này hiển thị trên trang chủ, 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 có thể nhìn thấy tiêu đề bài đăng, họ cũng có thể nhập mật khẩu. Như chúng ta đã biết, mật khẩu có thể bị nứt.

Có nói rằng, chúng ta hãy xem làm thế nào để ẩn bài viết được bảo vệ bằng mật khẩu của bạn từ vòng lặp WordPress để người dùng khác không thể nhìn thấy chúng.

Ẩn bài viết được bảo vệ bằng mật khẩu trong WordPress

Đơn giản chỉ cần thêm mã này vào tệp tin functions.php của chủ đề hoặc plugin dành riêng cho trang web.

chức năng wpb_password_post_filter ($ where = '') {
     if (is_single () &&! is_admin ()) {
         $ where. = "AND post_password = ''";
     }
     return $ ở đâu;
 }
 add_filter ('posts_where', 'wpb_password_post_filter'); 

Mã này chỉ đơn giản sửa đổi truy vấn được gửi đến WordPress bằng cách sử dụng post_where lọc. Nó yêu cầu WordPress lấy tất cả các bài viết mà 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 viết được bảo vệ bằng mật khẩu không còn hiển thị trên trang chủ, tài liệu lưu trữ, hoặc trong các vật dụng như các bài đăng gần đây.

Trước và sau khi ẩn các bài viết được bảo vệ trong WordPress

Bạn vẫn có thể truy cập vào bài đăng bằng cách truy cập vào bài đăng bằng một URL trực tiếp tới bài viết.

Ví dụ trên, ẩn các bài viết đượ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 điều hành 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ệ có khả năng chỉnh sửa bài đăng cá nhân?

Đơn giản chỉ cần sửa đổi mã ở trên với một thẻ điều kiện khác, như sau:

chức năng wpb_password_post_filter ($ where = '') {
    if (is_single () & &! current_user_can ('edit_private_posts') &&! is_admin ()) {
         $ where. = "AND post_password = ''";
     }
     return $ ở đâu;
 }
 add_filter ('posts_where', 'wpb_password_post_filter'); 

Trong ví dụ này, chúng tôi kiểm tra nếu người dùng không thể chỉnh sửa bài viết được bảo vệ bằng mật khẩu, 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ò người dùng của quản trị viên và người biên tập sẽ thấy các bài viết được bảo vệ bằng mật khẩu ở cuối trang của bạn.

Chúng tôi hy vọng bài viết này đã giúp bạn ẩn bài viết được bảo vệ bằng mật khẩu từ vòng lặp WordPress trên trang web của bạn