Come rilevare single.php (ma non single-portfolio.php)?

28 lug 2012, 18:09:24
Visualizzazioni: 37.5K
Voti: 14

Quando uso is_single(); nella sezione <head> per aggiungere degli stili alla navigazione del sito, questo viene eseguito correttamente sui post del blog ma viene eseguito anche sui post di tipo "portfolio" (quindi sia su single-portfolio.php che su single.php).

Come posso fare in modo che venga eseguito solo su single.php?

0
Tutte le risposte alla domanda 2
2
28

Puoi utilizzare invece il seguente codice,

if (is_singular('post')) {

    //il tuo codice qui...

}

Dove is_singular è la funzione condizionale dell'API di WordPress per verificare l'esistenza di un tipo di post. Puoi anche passare un array di tipi di post se lo desideri.

http://codex.wordpress.org/Function_Reference/is_singular

28 lug 2012 18:18:21
Commenti

Questa è un'altra ottima risposta! Entrambe le soluzioni risolvono il problema. Questa sembra essere più semplice. Grazie!

Atadj Atadj
28 lug 2012 18:19:23

Grazie, è sempre meglio utilizzare funzioni integrate. Penso che questa dovrebbe essere la risposta accettata.

Simon Simon
28 lug 2012 18:19:24
3

Potresti provare qualcosa come (http://codex.wordpress.org/Function_Reference/get_post_type) :

per verificare se non è un tipo di post specifico:

if ( is_single() && 'portfolio' != get_post_type() ) {
  // FAI QUALCOSA
}

o per verificare se è un articolo e non un tipo di post:

if ( is_single() && 'post' == get_post_type() ) {
  // FAI QUALCOSA
}
28 lug 2012 18:13:53
Commenti

Grazie! Questo risolve il mio problema MA cosa succede se ho "slideshow", "news", "portfolio" e molti altri tipi di post? Alcuni possono essere estesi utilizzando plugin e non sono sicuro di quanti ce ne saranno e quali saranno i loro nomi. C'è un modo per farlo senza escludere solo "portfolio" ma tutto ciò che non è un post del blog?

Atadj Atadj
28 lug 2012 18:15:35

@Flow: usa get_post_type() per verificare 'post'.

Geert Geert
28 lug 2012 18:17:07

Ho aggiornato la mia risposta ^^

Simon Simon
28 lug 2012 18:18:03