Verifică dacă un post are o categorie

2 aug. 2011, 20:31:01
Vizualizări: 17.8K
Voturi: 3

Am nevoie să afișez un cod HTML doar dacă postul afișat are o categorie - nu o categorie specifică, ci orice categorie în general.

Am încercat if (!is_empty(get_the_category($post->ID))), dar din nu știu ce motiv nu funcționează. A mai avut cineva aceeași problemă?

0
Toate răspunsurile la întrebare 1
7

Folosește has_category în loc.

if (has_category('',$post->ID)) ...

Dacă vrei să-l folosești în The Loop, nu este necesar să specifici ID-ul.

if (has_category()) ...

2 aug. 2011 20:34:46
Comentarii

Acest cod îmi dă o eroare din nu știu ce motiv. Codul pe care îl folosesc este: <?php if (has_category()) { ?>Posted in <?php the_category(', ') ?> | <?php } ?>. E ciudat că apare eroare pentru că folosesc sintaxă identică pe următoarea linie (<?php if (is_single()) { ?><a href="<?php comments_link(); ?>"><?php comments_number('0 Comments', '1 Comment', '% Comments'); ?></a><?php } ?>) și acolo afișează corect.

daysrunaway daysrunaway
2 aug. 2011 20:42:13

Folosești WordPress 3.1 sau mai nou? Funcția has_category a fost adăugată în WP 3.1.

Otto Otto
2 aug. 2011 22:15:38

Nu, folosesc WordPress 3.0.4; e pentru un site mare și prost construit pe care l-am moștenit de la un alt dezvoltator, așa că ezit să fac upgrade de teamă să nu stric ceva.

daysrunaway daysrunaway
2 aug. 2011 22:18:28

Păi, asta e problema ta. Încearcă să folosești is_object_in_term( $post->ID, 'category') în schimb. Sau mai bine, actualizează. Serios, rularea de cod vechi e groaznică.

Otto Otto
2 aug. 2011 22:20:06

De acord, pur și simplu nu este o opțiune având în vedere timpul alocat proiectului.

daysrunaway daysrunaway
2 aug. 2011 23:07:35

Aceasta ar fi beneficiat de o explicație mai detaliată

JGallardo JGallardo
23 iun. 2017 10:08:15

Ce detalii suplimentare ai nevoie? Numele funcției este has_category() și a răspuns la întrebarea persoanei care a pus-o.

Otto Otto
24 iun. 2017 01:24:13
Arată celelalte 2 comentarii