Вы можете получить параметры GET-запроса так:
if ( isset( $_GET['id'] ) ) {
$id = $_GET['id'];
}
Безопаснее использовать для этого функцию
get_query_var()
if ( get_query_var( 'id' ) ) {
$id = get_query_var( 'id' );
}
Чтобы этот код сработал вам нужно зарегистрировать доступные параметры
add_filter( 'query_vars', 'add_my_var' );
function add_my_var( $public_query_vars ) {
$public_query_vars[] = 'id';
return $public_query_vars;
}
Все редиректы должны выполняться на хуке
template_redirect
с помощью функции
wp_redirect()
или
wp_safe_redirect()
. Разбираете ссылку, проверяете необходимые условия редиректа и собираете новую ссылку. Вот шаблон:
add_action( 'template_redirect', 'custom_template_redirect' );
function custom_template_redirect() {
if ( $condition ) {
wp_redirect( home_url( '/' ) );
exit();
}
}