Il blog è archiviato e questo articolo è vecchio di diversi anni. Le informazioni al suo interno potrebbero essere inesatte o non più aggiornate. Torna alla home

Pillole di WordPress: eseguire qualcosa solo in home, post o categorie

Pillole di WordPress: eseguire qualcosa solo in home, post o categorie

14 Agosto 2014 0 Di Danilo petrozzi

Difficoltà:

Obiettivo

Riuscire a eseguire un comando PHP solo in presenza della homepage, oppure di un post, pagina o categoria.

Soluzione

Per fare in modo che un determinato comando PHP venga eseguito solo nella homepage di WordPress oppure in una specifica sezione (post, pagine, categorie, archivi autore, ecc) si possono usare i conditional tags che lo stesso WP ci mette a disposizione.

Vediamo i principali:

<?php 
 
if ( is_home() ) {
#questa riga viene eseguita solo sulla homepage (se la homepage è nel formato blog con gli articoli recenti)
}
 
if ( is_front_page() ) {
#questa riga viene eseguita solo sulla homepage (se la homepage è nel formato pagina statica)
}
 
if ( is_archive() ) {
#questa riga viene eseguita solo nelle categorie
}
 
if ( is_single() ) {
#questa riga viene eseguita solo negli articoli
}
 
if ( is_page() ) {
#questa riga viene eseguita solo nelle pagine
}
 
if ( is_single() ) {
#questa riga viene eseguita solo negli articoli
}
 
if ( is_tag() ) {
#questa riga viene eseguita solo nelle pagine tag
}
 
if ( is_author() ) {
#questa riga viene eseguita solo negli archivi autore
}
 
?>

Facciamo alcuni esempi per rafforzare il concetto.

Esempio 1: voglio fare in modo che nella home page (pagina statica) e nelle categorie compaia l’h2 contenente la parola “Benvenuto”.

<?php 
 
if ( is_front_page() || is_archive() ) {
    echo '<h2>Benvenuto</h2>';
}
 
?>

Esempio 2: voglio fare in modo che il testo “Scritto da Mario” compaia in tutti i post e in tutte le pagine esclusa quella con ID = 7

<?php 
 
if ( (is_single() || is_page()) && !is_page(7)  ) {
    echo '<p>Scritto da Mario</p>';
}

?>

Esempio 3: voglio fare in modo che in tutti gli archivi autore compaia la parola “Collaboratore” e che sia accompagnata da “premium” solo se l’autore è Mario, che ha ID = 3

<?php 
 
if ( is_author() ) {
echo '<p>Collaboratore';
   if ( is_author(3) ) {
      echo ' premium</p>';
   }
   else {
      echo '</p>';
   }
}
 
?>