Cum detectezi single.php (dar nu și single-portfolio.php)?

28 iul. 2012, 18:09:24
Vizualizări: 37.5K
Voturi: 14

Când folosesc is_single(); în secțiunea <head> pentru a adăuga stiluri la navigarea site-ului, acesta se execută corect pe articolele de blog, dar se execută și pe postările de tip "portfolio" (deci atât pe single-portfolio.php cât și pe single.php).

Cum pot face să se execute doar pe single.php?

0
Toate răspunsurile la întrebare 2
2
28

Puteți folosi următoarea alternativă,

if (is_singular('post')) {

    //codul tău aici...

}

Unde is_singular este funcția condițională din API-ul WordPress pentru a testa existența unui tip de postare. De asemenea, puteți transmite un array de tipuri de postări dacă doriți.

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

28 iul. 2012 18:18:21
Comentarii

Acesta este un alt răspuns foarte bun! Ambele soluții rezolvă această problemă. Aceasta pare să fie mai simplă. Mulțumesc!

Atadj Atadj
28 iul. 2012 18:19:23

Mulțumesc, întotdeauna este mai bine să folosești funcții încorporate. Cred că acesta ar trebui să fie răspunsul acceptat.

Simon Simon
28 iul. 2012 18:19:24
3

Ai putea încerca ceva de genul (http://codex.wordpress.org/Function_Reference/get_post_type) :

pentru a verifica dacă nu este un anumit tip de postare :

if ( is_single() && 'portfolio' != get_post_type() ) {
  // FACĂ OPERAȚII
}

sau pentru a verifica dacă este o postare și nu un tip de postare :

if ( is_single() && 'post' == get_post_type() ) {
  // FACĂ OPERAȚII
}
28 iul. 2012 18:13:53
Comentarii

Mulțumesc! Asta rezolvă problema mea, DAR dacă am "slideshow", "știri", "portofoliu" și multe alte tipuri de postări? Unele pot fi extinse folosind plugin-uri și nu sunt sigur câte vor fi și care vor fi numele lor. Există vreo metodă de a face asta fără a exclude doar "portofoliu", ci tot ce nu este o postare de blog?

Atadj Atadj
28 iul. 2012 18:15:35

@Flow: folosește get_post_type() pentru a verifica 'post'.

Geert Geert
28 iul. 2012 18:17:07

Am actualizat răspunsul meu ^^

Simon Simon
28 iul. 2012 18:18:03