function wbcom_protect_site_for_members_only() { // Check if the user is not logged in if (!is_user_logged_in()) { // Define pages that should be accessible without login $accessible_pages = array( 'login', 'register', 'wp-login.php' ); // Get the current page slug $current_page_slug = basename($_SERVER['REQUEST_URI']); // Check if the current page is not in the list of accessible pages if (!in_array($current_page_slug, $accessible_pages)) { // Redirect all non-logged-in users to the login page wp_redirect(wp_login_url()); exit; } } } add_action('template_redirect', 'wbcom_protect_site_for_members_only'); // Disable search functionality for non-logged-in users function wbcom_disable_search_for_non_logged_in_users($query) { if (!is_user_logged_in() && $query->is_search()) { // Redirect to login page if a non-logged-in user tries to search wp_redirect(wp_login_url()); exit; } } add_action('pre_get_posts', 'wbcom_disable_search_for_non_logged_in_users');