Hiển thị loại bài đăng tùy chỉnh chỉ dành cho người dùng đã đăng nhập


7

Tôi đang tạo một loại bài đăng tùy chỉnh chỉ dành cho người dùng đã đăng nhập, tôi đã tạo một {{postType} .php để ghi đè kết xuất mặc định và đã bao gồm một logincheck ở trên cùng để chuyển hướng đến thông tin đăng nhập trang và trở lại, sau khi đăng nhập.

Tôi chưa kích hoạt kho lưu trữ cho loại bài đăng của mình, vì vậy tôi tưởng tượng mình không phải ghi đè trang lưu trữ tùy chỉnh.

Và điều này dường như hoạt động như dự định, và dễ dàng duy trì mà không cần bất kỳ plugin hay gì.

Nhưng điều này có đủ để đảm bảo rằng các bài đăng sẽ không hiển thị cho người dùng trái phép? Loại chế độ xem / đường dẫn url có thể có mà loại bài đăng tùy chỉnh có?

Afaik, tôi phải đăng bài công khai_queryable = TRUE, vì tôi muốn nó hiển thị ở mặt trước, mặc dù, chỉ dành cho người dùng đã đăng nhập. Tôi không chắc chắn nếu có một số mánh khóe tôi có thể thực hiện với các cài đặt cho loại bài đăng tùy chỉnh hoặc các truy vấn cụ thể mà tôi có thể sử dụng trong một {{postType} .php để tìm nạp các bài đăng không thể truy vấn công khai?

Câu trả lời:


5

Một bộ lọc đơn giản trên nội dung bài đăng của bạn có thể thực hiện công việc này một cách dễ dàng. Hãy thử mã này

function tp_stop_guestes( $content ) {
    global $post;

    if ( $post->post_type == 'YOUR_CUSTOM_POSTTYPE' ) {
        if ( !is_user_logged_in() ) {
            $content = 'Please login to view this post';
        }
    }

    return $content;
}

add_filter( 'the_content', 'tp_stop_guestes' );

Chúng tôi đang áp dụng bộ lọc về nội dung bài viết. Nếu loại bài đăng là loại bài đăng tùy chỉnh của bạn và người dùng chưa đăng nhập, họ sẽ thấy "Vui lòng đăng nhập để xem bài đăng này" thay vì nội dung ban đầu.


2
Làm thế nào điều này có thể được thiết lập để gây ra một 404 bình thường (không phải là một chuyển hướng hiển thị đến mydomain.com/404) cho người dùng chưa đăng nhập?
tối

0

Bạn cũng có thể mở rộng chức năng trên thành một mã ngắn cho phép bạn chỉ định phần nào của bài đăng bạn muốn ẩn khỏi người dùng không đăng nhập.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.