強制用戶在閱讀WordPress中的帖子之前先登錄


如果您的博客有某些限制區域,您不想將其發布給所有訪問者(僅針對成員),那麼您可能希望 強制用戶在閱讀這些帖子之前先登錄。 幸運的是,WordPress具有內置功能,可以幫助我們做到這一點。

WordPress:強制用戶在閱讀帖子之前登錄

該函數是auth_redirect(),其工作方式如下:從頁面調用該函數時,它將檢查查看該頁面的用戶是否已登錄。如果用戶未登錄,則他們 重定向到登錄頁面。 重定向用戶的方式是,登錄後,他們將 直接發送到他們最初嘗試訪問的頁面

通過使用此功能,我們可以實現檢查帖子是否受限制的代碼,並在需要時將用戶重定向到登錄頁面。

只需將以下代碼粘貼到主題的 functions.php 文件:

    function my_force_login() {
    global $post;

    if (!is_single()) return;

    $ids = array(188, 185, 171); // array of post IDs that force login to read

    if (in_array((int)$post->ID, $ids) && !is_user_logged_in()) {
    auth_redirect();
    }
    } 

更改帖子ID的數組以適合您的要求。 之後,打開 header.php 文件,並將以下代碼放在最前面:


代碼很簡單,但是您可以 擴大它 提供更多選項,例如:要求登錄某些特定類別,創建選項頁面以方便輸入帖子ID等。

功能 auth_redirect() 自WordPress 1.5起可用。

團安Tuan Anh(又名Rilwis)是來自越南的25歲博客和網絡開發人員。 他對PHP,MySQL以及Web 2.0技術(CSS,Javascript,Ajax)感興趣。 他喜歡WordPress及其所有相關內容。 關注Rilwis 推特 與他保持聯繫。 Rilwis的網站: 豪華博客提示