As Milo stated, you can’t send header information after PHP has begun sending request response body.
Redirects belong in a function hooked into wp_loaded
to ensure they run before the request body is generated.
You need something like the following in your functions.php
file:
function hook_wp_loaded_require_login() {
$uri = ( isset( $_SERVER['REQUEST_URI'] ) )
? $_SERVER['REQUEST_URI']
: null;
if (
$uri &&
$uri !== '/login/' &&
$uri !== '/policy-agreement/' &&
! is_user_logged_in()
) {
$url = get_site_url() . "/login/";
wp_redirect($url);
exit;
}
}
add_action( 'wp_loaded', 'hook_wp_loaded_require_login' );
Note: If you use this approach, users will never see your You must be logged in to see the team details.
error message and you’ll also need to follow up on that policy_agreement_redirect()
call…
Related Posts:
- Error messages when adding code to function.php or trying to delete inactive plugin files
- Getting headers already sent error from plugin
- Call to undefined function get_header() in index.php
- White Screen on Site but wp-admin OK
- Fatal Error: get_header();
- Multiple use wp_logout_url() on page cause ‘header already sent’ error after submit form
- Fatal error: Uncaught Error: Call to undefined function add_action()
- Why I am having error Call to undefined function get_header()?
- Error Message – Cannot login to WordPress
- Cannot access non-wordpress subdirectories as wordpress overrides them with a 404 error
- Showing errors with $wpdb update
- Change login error messages
- WP_DEBUG is not set, but I’m still getting warnings
- How to disable the fatal error (WSOD) protection?
- wp_redirect() – headers already sent
- Why is wp_redirect() preferable to a standard PHP header redirect?
- Unable to locate WordPress Content directory (wp-content)
- Could not create directory /wp-content/upgrade/
- Getting the warning: Missing argument 2 for manage_posts_custom_column()?
- What log files does a WordPress installation write to?
- How to display admin error notice if settings saved succesfully?
- HTTPS leads to Sorry, you are not allowed to access this page
- How to fix “There has been a critical error on your website. Please check your site admin email inbox for instructions”?
- Notice: Undefined index: host in /var/www/html/wp-includes/canonical.php on line 445
- What is the best way to monitor PHP functions/executions?
- Notice: Use of undefined constant SCRIPT_DEBUG
- Notice: Constant WP_POST_REVISIONS already defined
- Uncaught ReferenceError:switchEditors is not defined
- How to stop certain warning logging in error.log?
- WordPress Redirecting to wp-admin/install.php
- Error 404 Page Not Found When Updating a Post or Page
- Debug mode shows Strict Standards
- How to use WP_Error $data argument?
- Is it possible to disable caching of an option when using w3 total cache?
- Why on Earth am I getting “undefined_index” errors?
- Showing error “Function create_function() is deprecated”
- strange characters in wordpress website displayed for visitors [closed]
- Debugging ‘Object of class WP_Query could not be converted to int’ error
- How to fix ob_end_flush() error?
- When does remove_filter not work?
- wp_remote_get() not retrieving pages properly
- error_log over 70GB. How to stop this? [closed]
- $wpdb->insert Database Error Duplicate Entry Error Logging
- Update wordpress fail – There has been a critical error on your website
- This webpage is not available ERR_NAME_NOT_RESOLVED
- Displaying oEmbed errors?
- The style.css stylesheet doesn’t contain a valid theme header
- “Apache HTTP Service has stopped working” with WP Query in WordPress 2.9.2
- Error 310 too many redirects after switching domains
- How do I set up Debugging?
- Error Logs to Diagnose Error 500 in LAMP
- Add image only in first post
- “Notice: Undefined index:” error when adding new content?
- 418 header status, I’m a teapot [closed]
- Showing “ Notice: Undefined variable:” and “ Notice: Trying to get property of non-object”
- Publishing Time – WordPress Plain White Screen with No Error
- Warning: Cannot modify header information – headers already sent
- Object of class WP_Error could not be converted to string
- URL Redirect and Bulk Actions in wp_list_table
- New WordPress Error Message – Not seen this before
- Getting redirect to happen before header output
- Does wordpress have an error log?
- WP_DISABLE_FATAL_ERROR_HANDLER vs WP_DEBUG ? What to use and when to use to see errors?
- Handling duplicates with wp_insert_term()
- Headers already sent – WordPress core
- Recommend a guide to catching plugin errors, please?
- How to handle core code throwing notice on valid input?
- Getting Warnings & Notices from Fresh WordPress 3.1.2 install
- Perform a redirect after user action
- How can I create a custom page for this error?
- Fatal error: Call to undefined function get_header()
- List Category Posts plugin upgrade fails with fatal error
- Cannot modify header information – headers already sent by pluggable.php
- Sodium compat error
- Fatal error: require(): Failed opening required ‘WP_DIRwp-blog-header.php’
- What do these “Failed to import” errors mean and how do I fix it?
- How to get a Custom 500 Error Page to show?
- Dashboard Whitescreen of Death?
- add_sub_menu page() to be replaced by add_theme_page()
- Firing a function AFTER redirect
- Trying to get property of non-object in wp-includes/capabilities.php
- How to use add_settings_error in register_setting callback
- How can I find the cause of theme crashing Apache in Xampplite?
- Allowed Memory Size Error in WordPress
- Application passwords not working on localhost?
- tb_show is not defined in advance custom field
- WordPress home page doesn’t work, but other pages do. How to rectify?
- Removing warnings and notices from production servers
- Unexpected Output: register_activation_hook with namespace
- WP Site Only Shows Javascript for Main Page
- File available but giving 404 in wordpress
- : Failed to load resource
- header and wp_redirect not working. cannot modify header information warning
- WordPress Admin Dashboard Does Not Display Correctly
- PHP notice coming from the WordPress core?
- What does this error mean? WordPress database error: [MySQL server has gone away]
- Warning: in_array() expects parameter 2 to be array, null given
- Fatal error: Call to undefined function is_multisite()
- Error trying to publish immediately. Post status = future (Missed schedule error)
- Can’t Change Theme And White Screen When Activating Any Plugin