Удалите «Категория:», «Таг:», «Аштор»: от the_archive_title

У меня есть следующий код в файле archive.php моей темы:

  & lt;? php the_archive_title ('<h1 class = "page-title">', '</h1>'); ? & GT;
 

Это дает мне такие названия, как «Категория: Россия», «Тег: Америка», «Автор: Джон».

Я хотел бы удалить фрагменты «Категория:», «Тег:» и «Автор:» и просто показать имена категорий, тегов и авторов.

Кто-нибудь знает, как это сделать?

Спасибо.

39 голосов | спросил Nick 27 FebruaryEurope/MoscowbFri, 27 Feb 2015 08:38:17 +0300000000amFri, 27 Feb 2015 08:38:17 +030015 2015, 08:38:17

8 ответов


59

Вы можете расширить get_the_archive_title фильтр , который я Вы упомянули в этом ответе

  add_filter ('get_the_archive_title', function ($ title) {

    if (is_category ()) {

            $ title = single_cat_title ('', false);

        } elseif (is_tag ()) {

            $ title = single_tag_title ('', false);

        } elseif (is_author ()) {

            $ title = '<span class = "vcard">' , get_the_author (). '& Л; /& продолжительность GT;' ;

        }

    return $ title;

});
 
ответил Pieter Goosen 27 FebruaryEurope/MoscowbFri, 27 Feb 2015 09:37:12 +0300000000amFri, 27 Feb 2015 09:37:12 +030015 2015, 09:37:12
21

Использовать функцию single_term_title ()

ответил Тимофей А. 5 MaramSat, 05 Mar 2016 01:55:07 +03002016-03-05T01:55:07+03:0001 2016, 01:55:07
6

Я чувствую, что это происходит над упрощением, но это то, что я сделал ...

  <h1> & lt;? php echo str_replace ("Архивы:", "", get_the_archive_title ()); ? & GT; & Lt; /h1 & GT;
 
ответил Tisch 30 32016vEurope/Moscow11bEurope/MoscowWed, 30 Nov 2016 04:09:41 +0300 2016, 04:09:41
5

Для названия CPT Без слова: «Арчива»:

Если вы создаете шаблон пользовательского архива для CPT и хотите вывести только заголовок CPT без лишнего слова, например «Achive», используйте следующую функцию:

  echo post_type_archive_title ('', false);
 

От developer.wordpress.org

ответил Mike 10 PM00000010000004031 2017, 13:24:40
2

echo '<h1 class = "page-title">' , single_cat_title ('', false). '& Л; /h1 & GT;'; в taxonomy-category.php вне публики темы.

ответил Hoang Oanh 13 AM00000050000000231 2016, 05:22:02
0

Я бы использовал фильтр и поместил его в файл functions.php

  add_filter ('get_the_archive_title', 'replaceCategoryName');
   function replaceCategoryName ($ title) {

   $ title = single_cat_title ('', false);
   return $ title;
}
 
ответил Yaworek 14 Maypm18 2018, 13:23:44
-1

Вы можете использовать следующее, чтобы иметь только название без префикса

  single_cat_title ();
 
ответил Xiomara 27 FebruaryEurope/MoscowbTue, 27 Feb 2018 21:45:37 +0300000000pmTue, 27 Feb 2018 21:45:37 +030018 2018, 21:45:37
-4

каталог: wp-includes

файл: general-template.php

найти функцию: get_the_archive_title () изменить:

  if (is_category ()) {
        $ title = sprintf (__ ('Категория:% s'), single_cat_title ('', false));
    } elseif (is_tag ()) {
        $ title = sprintf (__ ('Tag:% s'), single_tag_title ('', false));
    } elseif (is_author ()) {
        $ title = sprintf (__ ('Autor:% s'), '<span class = "vcard">'. get_the_author (). '</span>');
    }
 

в

  if (is_category ()) {
        $ title = sprintf (__ ('% s'), single_cat_title ('', false));
    } elseif (is_tag ()) {
        $ title = sprintf (__ ('% s'), single_tag_title ('', false));
    } elseif (is_author ()) {
        $ title = sprintf (__ ('% s'), '<span class = "vcard">'. get_the_author (). '</span>');
    } //если вы хотите удалить или просто изменить текст, если вам нужно
 
ответил Dragan Nikolic 6 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 06 Sep 2016 16:38:23 +0300 2016, 16:38:23

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132