У меня есть веб-сайт WordPress со следующей настраиваемой структурой:
/blog/%postname%/
База категорий не изменена, поэтому при нажатии на любую категорию на веб-сайте отображается следующий URL-адрес:
domain/blog/category/category-name
Аналогично при нажатии на автора отображается следующий URL-адрес:
домен/блог/автор/имя-автора
Как удалить фрагмент «категория» из приведенного выше URL-адреса категории, сохранив при этом ярлык «блог»?
Я использовал плагин Yoast, плагин удаления URL-адреса категории, добавил родительскую категорию в качестве блога, добавил код для удаления категории, установил базу категории как ., установил базу категории как блог/. и другие решения, которые я смог найти в сети после 3 дней поиска.
При использовании плагинов Yoast или удалении URL-адреса категории также удаляется слаг «блог». При удалении категории из кода путем добавления в файл function.php URL-адрес выглядит следующим образом, но возвращается ошибка 404.
domain/blog/category-name
Аналогично, если я изменю базу категории на блог или блог/., 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);
Подробнее здесь: https://stackoverflow.com/questions/556 ... -base-blog
Удаление фрагмента «категория» из URL-адреса WordPress с помощью пользовательской базы категорий «блог» ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение