URL префикс только для определённой рубрики

Решено

У меня на сайте постоянные ссылки на посты настроены таким образом:
site.ru/название_поста/
и в большинстве случаев меня это устраивает.

Но есть рубрика «Кино» (site.ru/kino/), в которой я хочу чтобы посты имели следующий URL:
site.ru/kino/название_поста/

Как это сделать?

Если есть какие-нибудь подводные камни у того решения, которое вы предложите, то сообщите. Обычно ваши решения всегда хороши, это я просто на всякий случай.

Добавить Комментарий
Ответ

Как я понимаю вы установили  вадминке на вкладке «Настройки» -> «Постоянные ссылки» значение:

 Название записи     http://www.you_site.dev/sample-post/

В вашем случае самым простым решением будет создать произвольный тип записи для «kino», на него не будут действовать данные настройки. Пример создания произвольного типа:

 /**
 * Добавим произвольный тип записи для экскурсий
 *
 */
 $labels =
 array(
 'name' => __('Экскурсии', 'geltur'),
 'singular_name' => __('Экскурсии', 'geltur'),
 'rewrite' =>
 array(
 'slug' => 'excursion'
 ),
 'add_new' => __('Добавить экскурсию', 'geltur'),
 'edit_item' => __('Редактировать экскурсию', 'geltur'),
 'new_item' => __('Добавить новую экскурсию', 'geltur'),
 'view_item' => __('Просмотреть экскурсию', 'geltur'),
 'search_items' => __('Найти экскурсию', 'geltur'),
 'not_found' => __('Экскурсии не найдены', 'geltur'),
 'not_found_in_trash' => __('Экскурсии не найдены', 'geltur'),
 'parent_item_colon' => ''
 );
 // set up the arguements for post type
 $args =
 array(
 'labels' => $labels,
 'public' => true,
 'publicly_queryable' => true,
 'show_ui' => true,
 'query_var' => true,
 'rewrite' => true,
 'capability_type' => 'post',
 'hierarchical' => false,
 'menu_position' => 111,
 'supports' =>
 array(
 'title',
 'editor',
 'thumbnail'
 )
 );
 // register the post type
 register_post_type(__('excursion'), $args);
 

 

В вашем случае заменить «excursion» на «kino»(ну и экскурсию на кино). В примере эксурсии, для того что бы при копировании было понимание и хоть небольшой интерес к коду.(вставлять в functions.php)

Если я правильно понял ситуацию будет работать 100%.

 

В противном случае ваш ждут сложные манипуляции с add_rewrite_rule

Информацию по данной функции можно взять тут: https://codex.wordpress.org/Rewrite_API/add_rewrite_rule

 

Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.