在WordPress中實現某個分類下的內容限制游客只能閱讀前5篇文章,注冊用戶可以閱讀更多文章的功能,可以通過以下步驟來完成:

1. 安裝和激活插件

首先,你可以使用一個插件來簡化這個過程。一個常用的插件是 “MemberPress” 或 “Restrict Content Pro”。這些插件允許你設置不同的訪問級別,并可以限制特定內容對未注冊用戶的訪問。

使用 MemberPress:

安裝并激活 MemberPress 插件。

創建一個新的會員等級(例如 “Basic”)。

設置這個等級的權限,使其可以訪問所有內容。

創建一個 “Free” 等級,限制其只能訪問前5篇文章。

使用 Restrict Content Pro:

安裝并激活 Restrict Content Pro 插件。

創建一個新的會員等級(例如 “Basic”)。

設置這個等級的權限,使其可以訪問所有內容。

創建一個 “Free” 等級,限制其只能訪問前5篇文章。

2. 自定義代碼實現

如果你不想使用插件,也可以通過自定義代碼來實現這個功能。以下是一個基本的示例代碼:

function wdp_limit_category_posts_for_guests($query) {
    if (!is_user_logged_in() && $query->is_category('wodepress')) {
        $query->set('posts_per_page', 5);
    }
}
add_action('pre_get_posts', 'wdp_limit_category_posts_for_guests');

將上述代碼添加到你的主題的 functions.php 文件中,并將 ‘your-category-slug’ 替換為你想要限制的分類的slug。

3. 顯示注冊提示

為了引導游客注冊,你可以在文章列表的底部添加一個注冊提示。你可以在主題的 single.php 或 archive.php 文件中添加以下代碼:

if (!is_user_logged_in() && is_category('wodepress') && $wp_query->current_post >= 5) {
    echo '<div class="register-prompt">';
    echo '<p>您已經閱讀了5篇文章,想要閱讀更多嗎?請 <a href="' . wp_login_url() . '">注冊</a> 或 <a href="' . wp_login_url() . '">登錄</a>。</p>';
    echo '</div>';
}

4. 樣式調整

最后,你可以根據需要調整注冊提示的樣式,使其看起來更美觀。

到此你的網站就可以實現某個分類下的內容限制游客只能閱讀前5篇文章,注冊用戶可以閱讀更多文章的功能。