Задать вопрос
@Shimpanze

Почему не срабатывает простейший код перенаправления и происходит перебрасывание на старый URL?

Необходимо, чтобы определённая страница открывалась по новому URL.

Вот этот URL: https://example.com/my-page,
открывался по этому URL: https://example.com/1.

Пишу простейший код перенаправления:

add_action( 'init', 's4132_pages_rewrite' );
function s4132_pages_rewrite() {
  add_rewrite_rule(
    '^1$',
    'index.php?post_type=page&name=my-page',
    'top'
  );
}

add_filter( 'post_type_link', 's4132_pages_permalink', 10, 4 );
function s4132_pages_permalink( $post_link , $post , $leavename , $sample ) {
  if ( $post->post_type === 'page' ) {
    if ( $post->post_name === 'my-page' ) {
      return home_url( '1' );
    }
  }

  return $post_link;
}


Само перенаправление срабатывает, страница открывается, но, в строке браузера, новый URL заменяется на старый.

Как это исправить?
  • Вопрос задан
  • 69 просмотров
Подписаться 1 Сложный 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы