0
我有一個自定義帖子類型(審覈)。我試圖讓每篇文章只能在帖子作者和管理員的前端看到。所以,本質上只是一個私人帖子,用於與帖子作者ID和管理員相匹配的登錄用戶。將前端視圖限制爲發佈作者(和管理員)
我見過很多關於如何限制管理員控制面板中的帖子的答案,但沒有前端的帖子,因爲大多數帖子通常是公開的。
任何幫助,非常感謝!
我有一個自定義帖子類型(審覈)。我試圖讓每篇文章只能在帖子作者和管理員的前端看到。所以,本質上只是一個私人帖子,用於與帖子作者ID和管理員相匹配的登錄用戶。將前端視圖限制爲發佈作者(和管理員)
我見過很多關於如何限制管理員控制面板中的帖子的答案,但沒有前端的帖子,因爲大多數帖子通常是公開的。
任何幫助,非常感謝!
我會說這種方法取決於你想讓用戶看到他們是否被拒絕訪問該帖子。你想顯示一條消息,說你無法查看這篇文章嗎?或扔404?
如果你想扔404,你可以使用template_redirect
動作鉤子。
add_action('template_redirect', 'hide_from_unauth_users');
function hide_from_unauth_users() {
$author = get_the_author();
$user = wp_get_current_user();
$is_author = "some logic to determine if this is the author";
if(current_user_can('administrator') || ! is_user_logged_in() || ! $is_author) {
//throw 404 and include 404.php template
}
}
如果你想顯示一條消息給用戶,那麼只需在實際的single.php模板上面運行完全相同的邏輯,並顯示被授權的消息,而不是文章的標題,內容等
希望這點能指引您朝着正確的方向發展。
感謝克里斯,這解決了我的問題,並且如果訪問未被授予,我將它添加到單個(post_type).php模板並使用登錄名! –