¿Cómo obtener el título de categoría y archivo?

12 abr 2012, 15:06:19
Vistas: 68.5K
Votos: 10

Cuando consulto la categoría (category.php), ¿cómo obtengo el título de la categoría actual, es decir, la que se está consultando?

Y ¿cómo obtengo el título para etiquetas y fechas (ya sea el día, el mes o el año)?

0
Todas las respuestas a la pregunta 5
2
18

Para categorías usa la función single_cat_title:
http://codex.wordpress.org/Function_Reference/single_cat_title

Para etiquetas usa la función single_tag_title:
http://codex.wordpress.org/Function_Reference/single_tag_title

Para fechas usa la función get_the_date:
http://codex.wordpress.org/Function_Reference/get_the_date

Por ejemplo, si abres el tema twentyten verás lo siguiente:

category.php:

<h1 class="page-title"><?php
    printf( __( 'Archivos de la categoría: %s', 'twentyten' ), '<span>' . single_cat_title( '', false ) . '</span>' );
?></h1>

date.php:

<h1 class="page-title">
    <?php if ( is_day() ) : ?>
        <?php printf( __( 'Archivos diarios: <span>%s</span>', 'twentyten' ), get_the_date() ); ?>
    <?php elseif ( is_month() ) : ?>
        <?php printf( __( 'Archivos mensuales: <span>%s</span>', 'twentyten' ), get_the_date( _x( 'F Y', 'formato de fecha para archivos mensuales', 'twentyten' ) ) ); ?>
    <?php elseif ( is_year() ) : ?>
        <?php printf( __( 'Archivos anuales: <span>%s</span>', 'twentyten' ), get_the_date( _x( 'Y', 'formato de fecha para archivos anuales', 'twentyten' ) ) ); ?>
    <?php else : ?>
        <?php _e( 'Archivos del blog', 'twentyten' ); ?>
    <?php endif; ?>
</h1>
12 abr 2012 15:16:09
Comentarios

¿la función single_tag_title 'obtiene' el título de la etiqueta o lo muestra directamente?

henrywright henrywright
20 feb 2014 01:23:25

el segundo parámetro de single_tag_title es responsable de mostrar el título. si pasas true, entonces se mostrará. si es false, entonces se retornará.

Eugene Manuilov Eugene Manuilov
20 feb 2014 09:08:34
0

Además de las otras respuestas, puedes llamar: single_term_title('Navegando actualmente: ') para mostrar 'Navegando actualmente término' (donde término es el nombre del término de taxonomía que estás viendo). (Ver Codex)

Esto funciona tanto para taxonomías personalizadas como para términos de categorías y etiquetas.

También podrías encontrar más fácil usar wp_title que maneja taxonomías y archivos, mostrando el título apropiado dependiendo de lo que estés viendo. Básicamente alterna entre todas las funciones disponibles para mostrar títulos, por lo que quizás quieras revisar el código fuente. Otras incluyen:

12 abr 2012 15:20:14
0

Prueba lo siguiente

<?php single_cat_title(); ?>
<?php single_tag_title(); ?>
<?php the_time('F jS, Y'); ?> // día, mes, año
<?php the_time('F, Y'); ?> // mes, año
<?php the_time('Y'); ?> // año

Consulta el Codex para más información sobre el formato de fecha: AQUÍ

PD. Estas funciones deben llamarse dentro del bucle. Excepto las dos primeras que deben estar fuera del bucle.

12 abr 2012 15:16:56
0

¡Gracias por tus respuestas! Hice esto para la fecha:

para archive.php

<?php
/*obtener encabezado de archivos*/
if ( is_day() ) { $this_header = "Archivos diarios para " . get_the_date(); }
else if ( is_month() ){ $this_header = "Archivos mensuales para " . get_the_date('F, Y'); }
else if ( is_year() ){ $this_header = "Archivos anuales para " . get_the_date('Y'); }
else { $this_header = "Archivos"; }
?>

luego simplemente

<?php echo $this_header; ?>
13 abr 2012 04:42:08
0

Esto probablemente sea más de lo que necesitas ahora, pero es algo que probablemente necesitarás en otras áreas de tu tema.

Este código obtiene el nombre de la categoría del post actual y luego lo muestra como un enlace a los posts listados en esa categoría a través del archivo category.php.

<?php
$category = get_the_category();
$current_category = $category[0];
$parent_category = $current_category->category_parent;
if ( $parent_category != 0 ) {
echo '<a href="' . get_category_link($parent_category) . '">' . get_cat_name($parent_category) . '</a>';
}
echo '<a href="' . get_category_link($current_category) . '">' . $current_category->cat_name . '</a>';
?>
13 abr 2012 05:20:44