Удаление категории «категория» из WordPress URL с помощью пользовательской базы категорий «блог» - PullRequest
2 голосов
/ 11 апреля 2019

У меня есть веб-сайт WordPress со следующей пользовательской структурой

/blog/%postname%/

База категорий не затрагивается, поэтому при нажатии на любую категорию на веб-сайте отображается следующий URL:

domain/blog/category/category-name

Точно так же, при нажатии на автора, следующий URL:

domain/blog/author/author-name

Как я могу удалить слаг 'category' из URL вышеупомянутой категории, сохранив при этом слаг 'blog' в целости и сохранности?

Я использовал плагин Yoast, плагин для удаления категории URL, добавил родительскую категорию в качестве блога, добавил код для удаления категории, установил базу категорий как., Установил базу категорий как блог /.и другие решения, которые я мог найти в Интернете после 3 дней поиска.

При использовании плагинов, Yoast или удалить URL-адрес категории, он также удаляет слаг «блога».При удалении категории из кода путем добавления в файл functions.php URL-адрес выглядит следующим образом, но возвращается ошибка 404.

domain/blog/category-name

Аналогично, если я изменяю базу категорий на blog или blog /., тогда автор URL возвращает страницу ошибки 404.

Код, который я использовал для удаления URL категории, находится на следующей странице:

function remove_category( $string, $type )
{ 
        if ( $type != 'single' && $type == 'category' && ( strpos( $string, 'category' ) !== false ) )
        {
            $url_without_category = str_replace( "/category/", "/", $string );
            return trailingslashit( $url_without_category );
        }
    return $string;
}

add_filter( 'user_trailingslashit', 'remove_category', 100, 2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...