У меня есть веб-сайт 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);