Come ottenere il titolo della categoria e dell'archivio?

12 apr 2012, 15:06:19
Visualizzazioni: 68.5K
Voti: 10

Quando interrogo la categoria (category.php), come posso ottenere il titolo della categoria corrente, cioè quella che viene interrogata?

E come posso ottenere il titolo per i tag e le date (che sia il giorno, il mese o l'anno)?

0
Tutte le risposte alla domanda 5
2
18

Per la categoria utilizza la funzione single_cat_title:
http://codex.wordpress.org/Function_Reference/single_cat_title

Per il tag utilizza la funzione single_tag_title:
http://codex.wordpress.org/Function_Reference/single_tag_title

Per la data utilizza la funzione get_the_date:
http://codex.wordpress.org/Function_Reference/get_the_date

Ad esempio, se apri il tema twentyten vedrai quanto segue:

category.php:

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

date.php:

<h1 class="page-title">
    <?php if ( is_day() ) : ?>
        <?php printf( __( 'Archivi giornalieri: <span>%s</span>', 'twentyten' ), get_the_date() ); ?>
    <?php elseif ( is_month() ) : ?>
        <?php printf( __( 'Archivi mensili: <span>%s</span>', 'twentyten' ), get_the_date( _x( 'F Y', 'formato data archivi mensili', 'twentyten' ) ) ); ?>
    <?php elseif ( is_year() ) : ?>
        <?php printf( __( 'Archivi annuali: <span>%s</span>', 'twentyten' ), get_the_date( _x( 'Y', 'formato data archivi annuali', 'twentyten' ) ) ); ?>
    <?php else : ?>
        <?php _e( 'Archivi del blog', 'twentyten' ); ?>
    <?php endif; ?>
</h1>
12 apr 2012 15:16:09
Commenti

single_tag_title 'ottiene' il titolo del tag o lo visualizza?

henrywright henrywright
20 feb 2014 01:23:25

il secondo parametro di single_tag_title è responsabile della visualizzazione. se passi true, allora verrà mostrato. se false allora verrà restituito.

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

Oltre alle altre risposte, puoi chiamare: single_term_title('Attualmente stai navigando: ') per visualizzare 'Attualmente stai navigando il termine' (dove termine è il nome del termine della tassonomia che stai visualizzando). (Vedi Codex)

Questo funziona sia per tassonomie personalizzate che per termini di categoria e tag.

Inoltre, potresti trovare più semplice usare wp_title che gestisce tassonomie e archivi, mostrando il titolo appropriato in base a ciò che stai visualizzando. Fondamentalmente passa attraverso tutte le funzioni disponibili per mostrare i titoli, quindi potresti voler dare un'occhiata al codice sorgente. Altre includono:

12 apr 2012 15:20:14
0

Prova quanto segue

<?php single_cat_title(); ?>
<?php single_tag_title(); ?>
<?php the_time('F jS, Y'); ?> // giorno, mese, anno
<?php the_time('F, Y'); ?> // mese, anno
<?php the_time('Y'); ?> // anno

Consulta il Codex per maggiori informazioni sulla formattazione della data: QUI

PS. Queste funzioni devono essere chiamate all'interno del loop. Eccetto le prime due che devono essere chiamate al di fuori del loop.

12 apr 2012 15:16:56
0

Grazie per le tue risposte! Ho creato questo per la data:

per archive.php

<?php
/*ottieni l'intestazione degli archivi*/
if ( is_day() ) { $this_header = "Archivi giornalieri per " . get_the_date(); }
else if ( is_month() ){ $this_header = "Archivi mensili per " . get_the_date('F, Y'); }
else if ( is_year() ){ $this_header = "Archivi annuali per " . get_the_date('Y'); }
else { $this_header = "Archivi"; }
?>

poi basta

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

Probabilmente questo è più di ciò che ti serve in questo momento, ma è qualcosa che ti servirà in altre aree del tuo tema.

Questo codice ottiene il nome della categoria del post corrente, quindi lo visualizza come un link ai post elencati nella categoria tramite il file category.php.

<?php
// Ottiene le categorie del post corrente
$category = get_the_category();
// Prende la prima categoria
$current_category = $category[0];
// Verifica se la categoria ha un genitore
$parent_category = $current_category->category_parent;
// Se esiste una categoria genitore
if ( $parent_category != 0 ) {
// Mostra il link alla categoria genitore
echo '<a href="' . get_category_link($parent_category) . '">' . get_cat_name($parent_category) . '</a>';
}
// Mostra il link alla categoria corrente
echo '<a href="' . get_category_link($current_category) . '">' . $current_category->cat_name . '</a>';
?>
13 apr 2012 05:20:44