Created
January 6, 2022 23:33
-
-
Save jordanmaslyn/7e28423ef43cdb6af068f5f192077746 to your computer and use it in GitHub Desktop.
Fix Yoast sitemaps when working with headless WP
This file contains hidden or 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 | |
/* | |
* Replacing domain for rest api requests from Gutenberg editor if youre using | |
* WP headless and WP_SITEURL & WP_HOME are not the same domain | |
* (has nothing to do with yoast) | |
*/ | |
add_filter('rest_url', function($url) { | |
$url = str_replace(home_url(), site_url(), $url); | |
return $url; | |
}); | |
/* | |
* Replacing domain for stylesheet to xml if youre using WP headless | |
* and WP_SITEURL & WP_HOME are not the same domain | |
*/ | |
function filter_wpseo_stylesheet_url( $stylesheet ) { | |
$home = parse_url(home_url()); | |
$site = parse_url(site_url()); | |
return str_replace($home, $site, $stylesheet); | |
}; | |
add_filter( 'wpseo_stylesheet_url', 'filter_wpseo_stylesheet_url', 10, 1 ); |
Hi @jordanmaslyn Thank you for your response, Basically, i changed "Site Address (URL)" from wp-admin/options-general.php then everything looks good but when I try to log in from any other browser or try to logout from right top corner it redirects me to the Frontend url with the required parameters.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@sbnoman01 Hmmm, I have not seen that behavior before. It sounds like you may have changed the wrong URL setting. If doing it from the WP Admin dashboard, make sure you are changing the setting titled "Site Address (URL)" or if you are changing it in code/the database, make sure you are changing
home_url
(notsite_url
). With that change and therest_url
filter above, you should be A-OK logging in and out of the WordPress dashboard like normal.In the admin, "WordPress Address (URL)" and in code/database
site_url
should always reflect the URL to your WordPress installation.