Сообщение с пользовательскими постоянными ссылками

Мои постоянные ссылки заданы так:

http://myblog.com/%category%/%postname%/

Все работает нормально.

Но я ищу способ установить постоянную ссылку, как показано ниже, только для некоторых сообщений (10-11 сообщений).

http://myblog.com/%postname%/

Я хочу это, потому что я объединяю два веб-сайта WordPress, и я не хочу потерять сообщения другого веб-сайта, которые уже опубликованы на Facebook и т. Д. Со старой структурой постоянной ссылки.

Solutions Collecting From Web of "Сообщение с пользовательскими постоянными ссылками"

Вы можете использовать API Rewrite. Поскольку у вас есть фиксированный набор сообщений, вы можете сделать следующее:

  add_action( 'init', 'rewrite_old_slugs' ); function rewrite_old_slugs(){ $post_slugs = array( 'post-1' => 1, 'post-2' => 2 ); foreach( $post_slugs as $slug => $new_id ) add_rewrite_rule( $slug . '?$', 'index.php?p=' . $new_id, 'top' ); } 

Я создал массив post_slugs, в котором ключи массива являются старыми слизнями, а значениями массива являются идентификаторы сообщений.

Если вы пройдете этот путь, вам нужно перейти в «Настройки»> «Постоянная ссылка» и нажать кнопку «Обновить», чтобы правила были активными.

Это решение работает для сообщений. Если вам это нужно для страниц, вам нужно переписать URL-адреса на

 index.php?page_id=