web-dev-qa-db-fra.com

Comment obtenir le titre de la catégorie et des archives?

Quand j'interroge la catégorie (category.php), comment puis-je obtenir le titre de la catégorie actuelle, c'est-à-dire celle qui est interrogée?

Et comment puis-je obtenir le titre pour l'étiquette et la date (que ce soit le jour, le mois ou l'année)?

6
Iacchus

Pour la catégorie, utilisez la fonction single_cat_title:
http://codex.wordpress.org/Function_Reference/single_cat_title

Pour utiliser la balise single_tag_title fonction:
http://codex.wordpress.org/Function_Reference/single_tag_title

Pour la date, utilisez la fonction get_the_date:
http://codex.wordpress.org/Function_Reference/get_the_date

Par exemple, si vous ouvrez le thème twentyten, vous verrez ce qui suit:

category.php:

<h1 class="page-title"><?php
    printf( __( 'Category Archives: %s', 'twentyten' ), '<span>' . single_cat_title( '', false ) . '</span>' );
?></h1>

date.php:

<h1 class="page-title">
    <?php if ( is_day() ) : ?>
        <?php printf( __( 'Daily Archives: <span>%s</span>', 'twentyten' ), get_the_date() ); ?>
    <?php elseif ( is_month() ) : ?>
        <?php printf( __( 'Monthly Archives: <span>%s</span>', 'twentyten' ), get_the_date( _x( 'F Y', 'monthly archives date format', 'twentyten' ) ) ); ?>
    <?php elseif ( is_year() ) : ?>
        <?php printf( __( 'Yearly Archives: <span>%s</span>', 'twentyten' ), get_the_date( _x( 'Y', 'yearly archives date format', 'twentyten' ) ) ); ?>
    <?php else : ?>
        <?php _e( 'Blog Archives', 'twentyten' ); ?>
    <?php endif; ?>
</h1>
9
Eugene Manuilov

En plus des autres réponses, vous pouvez appeler: single_term_title('Currently browsing: ') pour afficher 'Terme de navigation courant' (terme étant le nom du terme de taxonomie affiché. ( Voir Codex )

Cela fonctionne pour les taxonomies personnalisées ainsi que les termes de catégorie et de balise.

Vous pouvez également trouver plus facile d'utiliser wp_title qui gère les taxonomies et les archives, en affichant le titre approprié en fonction de ce que vous visualisez. Il bascule essentiellement entre toutes les fonctions disponibles pour l’affichage des titres, vous pouvez donc jeter un coup d’œil sur le code source . Parmi les autres:

3
Stephen Harris

Essayez ce qui suit

<?php single_cat_title(); ?>
<?php single_tag_title(); ?>
<?php the_time('F jS, Y'); ?> // day, month, year
<?php the_time('F, Y'); ?> // month, year
<?php the_time('Y'); ?> // year

Voir le Codex pour en savoir plus sur le formatage de la date: ICI

PS Ceux-ci doivent être appelés dans la boucle. Sauf les deux premiers qui doivent être en dehors de la boucle.

1
userabuser

Merci pour vos réponses! J'ai fait ça pour la date:

pour archive.php

<?php
/*get archives header*/
if ( is_day() ) { $this_header = "Daily archives for " . get_the_date(); }
else if ( is_month() ){ $this_header = "Monthly archives for " . get_the_date('F, Y'); }
else if ( is_year() ){ $this_header = "Yearly archives for " . get_the_date('Y'); }
else { $this_header = "Archives"; }
?>

alors juste

<?php echo $this_header; >
1
Iacchus

C’est probablement plus que ce dont vous avez besoin pour le moment, mais c’est probablement quelque chose dont vous aurez besoin dans d’autres domaines de votre thème.

Ce code obtient le nom de la catégorie de la publication en cours, puis l’affiche sous forme de lien vers les publications de la catégorie via le fichier 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>';
?>
1
Travis Pflanz