Eliminar "Categoría:", "Etiqueta:", "Autor:" de the_archive_title

40

Tengo el siguiente código en archive.php de mi tema:

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

Esto me da títulos como "Categoría: Rusia", "Etiqueta: América", "Autor: John".

Me gustaría eliminar la parte "Categoría:", "Etiqueta:" y "Autor:" y solo mostrar la categoría, la etiqueta y los nombres de los autores.

¿Alguien sabe cómo lograr esto?

Gracias.

    
pregunta Nick 27.02.2015 - 06:38

8 respuestas

61

Puede extender el get_the_archive_title filter que he mencionado en esta respuesta

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;

});
    
respondido por el Pieter Goosen 27.02.2015 - 07:37
22

Usa la función single_term_title()

    
respondido por el Тимофей А. 04.03.2016 - 23:55
7

Para el título de CPT sin palabra: "Archivo":

Si está creando una plantilla de archivo personalizada para un CPT, y desea mostrar solo el título del CPT sin palabras adicionales como "Archivo", utilice la siguiente función:

echo post_type_archive_title( '', false );

De developer.wordpress.org

    
respondido por el Mike 10.08.2017 - 12:24
5

Siento que esto es sobre simplificar las cosas, pero esto es lo que hice ...

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

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

    
respondido por el Hoang Oanh 13.08.2016 - 04:22
0

Yo usaría un filtro y lo pondría en un archivo functions.php

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

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

Puedes usar lo siguiente para tener solo el título sin el prefijo

single_cat_title();
    
respondido por el Xiomara 27.02.2018 - 19:45
-4

directorio: wp-includes

archivo: general-template.php

encuentra la función: get_the_archive_title() cambio:

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>' );
    }

a:

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
    
respondido por el Dragan Nikolic 06.09.2016 - 15:38

Lea otras preguntas en las etiquetas