So you need this to happen before WordPress has output anything at all, otherwise you won’t be able to send a redirect.
A way to achieve this is with the template_redirect
hook, documented here: https://codex.wordpress.org/Plugin_API/Action_Reference/template_redirect
The example from that docs page is more or less exactly what you want. I’ve edited it a little bit for your question:
function my_page_template_redirect() {
if ( is_page( 'page-main' ) ) {
if ( $some_condition ) {
wp_redirect( home_url( $pageA ) );
} else {
... other caeses here with redirects to other pages
}
}
}
add_action( 'template_redirect', 'my_page_template_redirect' );
You’d need to add that to your functions.php or a plugin.
Related Posts:
- How to redirect non-logged in users to a specific page?
- Why is WordPress redirecting from http to https on a local environment?
- Non-WordPress page in subdirectory under WordPress page
- Clarification on auth_redirect()
- Implementing global redirection (automatic redirect for all pages who had their slug changed)
- Redirect to custom url when registration fails?
- Restrict Access to wp-login.php
- How to redirect url requests to https? [closed]
- Best way to handle redirects
- Problem to redirect custom page using htaccess
- WordPress within a subdirectory of another WordPress environment doesn’t work
- wp-login.php — redirect logged in users to custom URL
- Website redirecting to old domain name
- How to do 301 redirect to Sub page using htaccess file?
- Redirect feed to 404 page
- Does WordPress automatically redirect url without parent slug?
- Hiding WordPress behind IIS redirects
- Redirect guest if he tries to access a specific page
- Localhost wordpress site redirects to public site
- Redirect homepage ( www.sitename.com ) to the latest post
- Redirect all post into some category to url without category
- Redirect from sub-directory to root – New WordPress 5.2.3 Set up
- What is the right way to redirect all traffic to HTTPS?
- Site loads very slowly (4-5 minute load time)
- If User is NOT Logged in and Page ID is not 6 – Redirect to Login
- Where’s the redirect happening? [closed]
- Front end user creation form! How do you keep the user on the same page in event of error?
- URL redirect problem
- 503 Service Unavailable error was encountered
- WP site in infinite redirect loop
- Regex with HttAccess
- Regex redirect rule for missing part of the path
- Page template that redirects user based on role
- How can i resolve 301 redirection Issue on my website?
- Redirect non-existent subpages to second part of url
- https – too many redirects
- How to remove the [L] Flag for WordPress index .php mod_rewrite
- How do I remove the RSS Feed Redirect?
- Why does WordPress redirect when I separate wp-core and wp-content?
- Two WordPress installations: One in root and one in sub directory – no images in subdir installation [closed]
- User redirect to specific URL after logging in
- What is the most efficient (ie. less server intensive) way for 301 redirects?
- Logout without confirmation and SAME window on mobile
- adding GET variables to a header() location in a page template
- My site doesn’t redirect from HTTP to HTTPS
- How to prevent redirect 301
- How to redirect wp_login_form to new page after user loged in?
- Redirect User to login page
- How to redirect multiple subfolders back to root domain?
- How do I Redirect Tags from Old Joomla Site to New WordPress Site?
- Redirect After Login Error
- Is it possible to detect if a POST action is for a “Save Post” before the save_post action?
- Disable and Hide WP-JSON
- URL redirection
- Old missing file in wp-content/uploads/ returns a 500 error, how to catch and redirect?
- Redirect when not logged and parametr in link
- Browsers Forcing Multisite to https
- Is it possible to change redirect template through a shortcode?
- How do redirect user back to previous page when on certain pages?
- Relink Drupal Permalinks “…node/XXXX” to wordpress Permalinks (e.g./audio/)
- Keep the old referrer after failed login
- How to 301 redirect WP posts id “/c/94940894” to permalink with post name?
- WP 301 redirect does not work
- Redirect Image URL to it’s parent post
- Redirect user if they are logged in
- URL redirect regular expressions redirecting all after first viriable
- 301 Redirect Link to Media
- WordPress Redirect post to outside website based on useragent
- WordPress site not forcing from http to https instead getting redirected too many times
- Redirect not work
- There is 1 redirect
- How to create mass 301 redirects with PHP in Nginx server without using a WP plugin
- HOW do you Redirect buddypress login to EDIT tab not PROFILE tab on profile page? [closed]
- WordPress redirects to backend when i’am not logged in
- Redirect to custom admin menu after plugin activation
- All new posts serving 301 redirect
- home page redirect loop after update to 4.8
- Moving site from HTTP to HTTPS
- Redirect from plugin created page
- 301 Redirects when change URL in WordPress database
- How can I redirect to another page with screen already at the bottom of the page?
- How is this URL being redirected?
- What’s the best way to redirect to a new wordpress website?
- Tag archive page not working
- 301 Redirect only for posts
- Custom redirects with using SQL
- How to move a https website back to dev and access the admin?
- Why is WordPress redirecting to homepage after GET form submit?
- Redirect after user changes password
- Getting error when trying to redirect WP site to mobile site
- wp_login_form: Redirect to dynamic url according to username
- Plugin redirects URL structure using 301 redirect. Time to disable the plugin?
- Hide page for user logged and redirect for profile? [duplicate]
- Redirect URL while building site
- Redirect ignore last URL segment
- Creating custom link that redirects to a another link
- Other pages fine but wp-admin showing ERR_TOO_MANY_REDIRECTS Error
- How to disable login and registration pages?
- Is there a way to redirect people from a page on my .com website to a corresponding page on my .co.uk website if they are in the UK
- How to find out what is causing redirect of static content?