Как убрать слово Категория:?

Ссылка скопирована
1 ответ

В общем
создал категорию записей новости
при переходе в тайтле сейчас так Категория: Новости
Как убрать слово категория?
там стоит вывод тайтла <?php the_archive_title(); ?>

Дополнительно

Как убрать слово Категория:?

Maksym Davydchuk @maksym1991 WordPress adept Попробуйте

add_filter( 'get_the_archive_title_prefix', '__return_empty_string' );

add_filter( 'get_the_archive_title_prefix', '__return_empty_string' );

  • Спасибо огромное!
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Артём Dev Ответ

Слово Категория появляется не из вашего шаблона напрямую, а из функции the_archive_title. Она внутри берет get_the_archive_title и добавляет человекочитаемый префикс для разных архивов: для рубрики это Категория, для метки это Метка, для автора и дат свои варианты. Поэтому править HTML вокруг вызова не нужно. Достаточно повесить фильтр в functions.php дочерней темы или в небольшой site-specific плагин.

Самый короткий вариант для современных версий WordPress:

add_filter('get_the_archive_title_prefix', '__return_empty_string');

add_filter('get_the_archive_title_prefix', '__return_empty_string');

После этого the_archive_title на странице рубрики вместо Категория: Новости выведет Новости. Этот фильтр убирает именно префикс, поэтому он аккуратнее ручной замены строки. Он не зависит от языка сайта и не ломается, если перевод слова Категория изменится. Но учитывайте, что он уберет префиксы не только у рубрик, а у архивных заголовков в целом. Во многих темах это нормально, потому что H1 вида Новости, Акции или Бренды выглядит лучше, чем технический заголовок с типом архива.

Если нужно убрать префикс только у категорий и не трогать остальные архивы, используйте более точечный фильтр:

add_filter('get_the_archive_title', function ($title) {
    if (is_category()) {
        return single_cat_title('', false);
    }
 
    return $title;
});

add_filter('get_the_archive_title', function ($title) { if (is_category()) { return single_cat_title('', false); } return $title; });

Код добавляйте в functions.php дочерней темы. В родительскую тему лучше не вносить такие правки, потому что они могут пропасть при обновлении. Если на сайте нет дочерней темы, безопаснее сделать маленький mu-plugin или обычный мини-плагин с этим фильтром, тогда поведение не будет зависеть от смены темы.

  • Если в шаблоне стоит the_archive_title, фильтр сработает.
  • Если тема выводит H1 своим кастомным кодом, например через single_cat_title или option темы, фильтр может быть не задействован.
  • Если используется SEO-плагин, эта правка меняет видимый H1 темы, но не обязательно меняет SEO title в title tag браузера.

Проверьте результат на странице рубрики после очистки кэша. Если в H1 осталось Категория, значит тема не использует стандартную функцию для вывода заголовка архива. Тогда нужно искать вызов в category.php, archive.php или template part, который отвечает за шапку архива, и там заменить вывод на single_cat_title('', false) только для рубрик. Но начинать лучше с фильтра, потому что это минимальная обратимая правка без изменения шаблонов.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно