Created
July 10, 2024 20:14
-
-
Save knolaust/9d53963af8275dadc85379087266f1a7 to your computer and use it in GitHub Desktop.
This function hides all WordPress content from users who are not logged in. Visitors will see a custom message instead of any pages or posts, except for the login page.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Hide entire site unless logged in. | |
* | |
* Gist Keywords: wordpress, privacy | |
* Author: Knol Aust | |
* Version: 1.0.0 | |
* Description: This function hides all WordPress content from users who are not logged in. Visitors will see a custom message instead of any pages or posts, except for the login page. | |
*/ | |
function ka_hide_wordpress_for_guests() { | |
// If user is not logged in and not accessing the login page | |
if (!is_user_logged_in() && !is_admin() && !in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'))) { | |
// Output the custom message | |
wp_die('<h1 style="text-align: center">Hello there, stranger.</h1>', 'Nothing to see here.', array('response' => 200)); | |
} | |
} | |
// Hook the function to the template_redirect action | |
add_action('template_redirect', 'ka_hide_wordpress_for_guests'); | |
/** | |
* Instructions: | |
* 1. Add this code to your theme's functions.php file or create a new plugin file with this code. | |
* 2. Save the file as ka-hide-wordpress-for-guests.php in your theme directory or wp-content/plugins/ directory. | |
* 3. If saved as a plugin, activate the plugin from the WordPress admin panel. | |
* 4. Ensure you are logged out to test the functionality. Visitors will see the custom message instead of any page content. | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment