Remova “Category:”, “Tag:”, “Author:” do the_archive_title

40

Eu tenho o seguinte código no archive.php do meu tema:

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

Isso me dá títulos como "Categoria: Rússia", "Tag: América", "Autor: John".

Eu gostaria de remover a parte "Category:", "Tag:" e "Author:" e apenas exibir os nomes de categoria, tag e autor.

Alguém sabe como fazer isso?

Obrigado.

    
por Nick 27.02.2015 / 06:38
fonte

8 respostas

61

Você pode estender o get_the_archive_title filtro que mencionei em esta resposta

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() . '</span>' ;

        }

    return $title;

});
    
por Pieter Goosen 27.02.2015 / 07:37
fonte
22

Use a função single_term_title()

    
por Тимофей А. 04.03.2016 / 23:55
fonte
7

Para título de CPT Sem palavra: "Arquivar":

Se você estiver criando um modelo de arquivo personalizado para um CPT e quiser exibir apenas o título do CPT sem nenhuma palavra extra como "Arquivo", use a seguinte função:

echo post_type_archive_title( '', false );

Em developer.wordpress.org

    
por Mike 10.08.2017 / 12:24
fonte
5

Eu sinto que isso é mais simplificar as coisas, mas isso é o que eu fiz ...

<h1><?php echo str_replace("Archives: ", "", get_the_archive_title()); ?></h1>
    
por Tisch 30.11.2016 / 02:09
fonte
2

echo '<h1 class="page-title">' . single_cat_title( '', false ) . '</h1>'; em taxonomy-category.php fora do público do tema.

    
por Hoang Oanh 13.08.2016 / 04:22
fonte
0

Eu usaria um filtro e colocaria em um arquivo functions.php

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

   $title =  single_cat_title( '', false );
   return $title; 
}
    
por Yaworek 14.05.2018 / 12:23
fonte
-2

Você pode usar o seguinte para ter apenas o título sem o prefixo

single_cat_title();
    
por Xiomara 27.02.2018 / 19:45
fonte
-4
Diretório

: wp-includes

arquivo

: general-template.php

função find: get_the_archive_title() mudar:

if ( is_category() ) {
        $title = sprintf( __( 'Category: %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>' );
    }

para:

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>' );
    }//if you want to remove or just change text if you need to
    
por Dragan Nikolic 06.09.2016 / 15:38
fonte