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

Как добавить префикс «page/» к стандартным, статическим страницам WP?

Необходимо добавить префикс "page/" к стандартным, статическим страницам WP.

Пример:

Это:

http://example.com/basket
http://example.com/contacts


Преобразовать в это:

http://example.com/page/basket
http://example.com/page/contacts


Я уже написал вот этот код:

add_action( 'init', 'custom_page_rules' );
function custom_page_rules() {

  global $wp_rewrite;

  $page_id = $_GET['post'] ?? '';

  $wp_rewrite->page_structure = $wp_rewrite->root . 'page/' . $page_id;
}

add_action( 'init', 'wpse33551_rewrites_init' );
function wpse33551_rewrites_init() {

  add_rewrite_rule(
    '^page/([0-9]+)$',
    'index.php?page_id=$matches[1]',
    'top'
  );
}


Он прекрасно работает при создании самой страницы. Но в любом-другом интерфейсе Админ-панели, отображается пустая, некорректная ссылка:

6721e7b3e63a6119181739.png
  • Вопрос задан
  • 49 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
add_action('init', 'custom_prefit_for_pages');

function custom_prefit_for_pages() {
  global $wp_rewrite;
  $wp_rewrite->page_structure = $wp_rewrite->root . 'page/%pagename%'; 
}


И не забудьте сохранить постоянные ссылки в настройках.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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