Làm Thế Nào Để Ẩn Những Bài Viết Có Mật Khẩu Bảo Vệ [NEW]

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ó ổn không khi ẩn các bài đăng được bảo vệ bằng mật khẩu khỏi trang web. 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ó hiển thị tiêu đề của bài đăng với 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 bài viết được bảo vệ bằng mật khẩu trong WordPress.

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

Khi thêm khóa nội dung vào WordPress, theo mặc định, WordPress hiển thị các 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 để có thể xem nội dung bài đăng.

protected-posts-wordpress-1

Tiêu đề bài viết này hiển thị trên trang chủ, danh mục, các trang gần đây, v.v. Nếu bạn muốn giữ nội dung hoàn toàn mang tính cá nhân, thì điều này không lý tưởng.

Không chỉ những người không có mật khẩu mới có thể nhìn thấy tiêu đề của bài viết, họ cũng có thể cố gắng truy cập vào bài viết. Như chúng ta đã biết, mật khẩu có thể bị lộ.

Chúng ta hãy xem cách ẩn bài đăng được bảo vệ bằng mật khẩu khỏi vòng lặp WordPress tương tự như cách sửa nội dung trùng lặp để người dùng khác không thể nhìn thấy chúng.

Ẩn các 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 sẽ thay đổi lệnh gọi được gửi đến WordPress bằng cách sử dụng bộ lọc post-where. Nó yêu cầu WordPress xóa tất cả các bài đăng mà không cần mật khẩu.

Bây giờ hãy quay lại trang web của bạn và 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 tiện ích con như các bài đăng gần đây.

ẩn bài viết bằng mật khẩu

Bạn vẫn có thể xem bài đăng bằng cách truy cập nó qua URL trực tiếp đến bài đăng.

Trong ví dụ trê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 điều hành một trang web WordPress nhiều tác giả và muốn bảo vệ các bài đăng không bị người dùng khác xem bằng khả năng chỉnh sửa các bài đăng riêng lẻ?

Chỉ cần chỉnh sửa mã ở trên bằng một thẻ bổ sung khác, như thế này.

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 nếu 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, thì chỉ những bài đăng không có mật khẩu mới được hiển thị. Bằng cách đó, tất cả người dùng có vai trò quản trị viên hoặc người dùng 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. Bạn có thể tham khảo bài viết để biết thêm những cách tiện dụng để bảo vệ trang wordpress của mình.

Đăng ký theo dõi để nhận thêm nhiều thông tin hữu ích, những ebook hay nhé!