В WordPress есть функция с именем $requested_url
что в основном:
Перенаправляет входящие ссылки на правильный URL-адрес на основе URL-адреса сайта.
По умолчанию функция привязана к add_filter( 'wpseo_canonical', function( $redirect_url ){
if ( put expression here ) {
// Do something with $redirect_url.
$redirect_url = 'custom URL here';
}
return $redirect_url;
} );
:
add_filter( 'redirect_canonical', function( $redirect_url, $requested_url ){
if ( put expression here ) {
// Do something with $redirect_url.
$redirect_url = 'custom URL here';
}
return $redirect_url;
}, 10, 2 );
Таким образом, вы можете отменить/отключить канонические перенаправления по умолчанию в WordPress следующим образом:
redirect_canonical()
Однако, если вы просто пытаетесь установить собственное каноническое перенаправление URL-адрес, то вы можете использовать redirect_canonical
фильтр, который срабатывает в remove_action( 'template_redirect', 'redirect_canonical' );
function:
add_action( 'template_redirect', 'redirect_canonical' );
Но плагин Yoast SEO уже фильтрует канонический URL, так что это тоже должно работать:
template_redirect
Но учтите, что Yoast SEO не соответствует требованиям redirect_canonical()
parameter; i.e. the original URL.