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

     

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

    Ваш ответ

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