Показывать только одну категорию в ЧПУ wordpress?

Для записей из стандартной категории Блог понадобилось использовать ЧПУ с категорией - site.com/blog/post-title. В целом же на сайте следующая структура ЧПУ - site.com/post-title. Задача была реализована следующим кодом в function.php
add_action('init', function()
{
    add_rewrite_rule('^blog/([^/]+)/?$', 'index.php?name=$matches[1]', 'top');
}, 10, 0);
add_filter('post_link', function($post_link, $post, $leave_name = false, $sample = false)
{
    if ( has_category('blog', $post) ) {
        $post_link = str_replace('/' . $post->post_name, '/blog/' . $post->post_name, $post_link);
    }

    return $post_link;

}, 10, 4);


Все работает хорошо, но есть одна проблема. Если использовать ссылку site.com/post-title (вместо site.com/blog/post-title), то запись отображается и без /blog/, а хотелось бы, чтобы происходил редирект на site.com/blog/post-title. Подскажите, как реализовать редирект в коде?
  • Вопрос задан
  • 31 просмотр
Пригласить эксперта
Ответы на вопрос 1
@weart
Самый простой путь - сделать эти записи кастомным типом.

Но, если хочется необычного, посмотрите тут
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы