2015-10-19 58 views
0

我有一個自定義帖子類型(審覈)。我試圖讓每篇文章只能在帖子作者和管理員的前端看到。所以,本質上只是一個私人帖子,用於與帖子作者ID和管理員相匹配的登錄用戶。將前端視圖限制爲發佈作者(和管理員)

我見過很多關於如何限制管理員控制面板中的帖子的答案,但沒有前端的帖子,因爲大多數帖子通常是公開的。

任何幫助,非常感謝!

回答

2

我會說這種方法取決於你想讓用戶看到他們是否被拒絕訪問該帖子。你想顯示一條消息,說你無法查看這篇文章嗎?或扔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模板上面運行完全相同的邏輯,並顯示被授權的消息,而不是文章的標題,內容等

希望這點能指引您朝着正確的方向發展。

+0

感謝克里斯,這解決了我的問題,並且如果訪問未被授予,我將它添加到單個(post_type).php模板並使用登錄名! –

相關問題