Tôi có một số bài đăng chưa được công bố trong trang web Wordpress của mình và tôi đang cố gắng làm cho nó có thể truy cập được đối với người dùng bình thường (những người không đăng nhập) bằng cách sử dụng các bài đăng bình thường ( site.com/post-here
). Tôi hiểu nó có thể không phải là thực tiễn tốt nhất nhưng với mục đích đặc biệt của tôi, điều này cần phải được thực hiện.
Tôi đã thử thêm đoạn mã sau vào functions.php
tệp của mình :
function enable_view_drafts() {
$role = get_role( 'subscriber' );
$role->add_cap( 'read_private_posts' );
$role->add_cap( 'edit_posts' );
}
add_action( 'after_setup_theme', 'enable_view_drafts');
Tôi cũng đã thử init
hook thay vì after_setup_theme
. Không may mắn.
Hiểu biết của tôi là thay đổi vai trò được lưu vào cơ sở dữ liệu nên chỉ cần thực hiện một lần. Đó là lý do tại sao tôi sử dụng after_setup_theme
hook để gọi hàm.
Nhưng khi tôi cố gắng truy cập trang như một người dùng bình thường, tôi đang được hiển thị trang 404 thay vì hiển thị nội dung bài đăng. Tôi cũng đã thử tải URL xem trước ( site.com/?p=212&preview=true
) nhưng cũng không hoạt động.
Đây là những dự đoán của tôi:
- người dùng bình thường không có đủ
caps
để đọc bài viết nháp. - kiểm tra và xem các bài viết nháp ở mặt trước là không thể đối với bất kỳ người dùng nào (bao gồm cả quản trị viên).
Tôi phải thực hiện những thay đổi nào để thực hiện những gì tôi đang cố gắng thực hiện? Nếu không thể, bạn có đề xuất giải pháp thay thế nào?
Lưu ý: Tôi không tìm kiếm các giải pháp dựa trên plugin.