Cum să obții obiectul categoriei pe pagina categoriei în WordPress

25 ian. 2011, 13:00:48
Vizualizări: 19.2K
Voturi: 7

Bună, sper că e ceva simplu... Sunt pe o pagină de categorie cu id-ul 4 și vreau să obțin obiectul categoriei pentru a putea verifica câteva valori.

Am căutat în Codex-ul WP fără prea mult succes. Ține minte că nu vreau să obțin categoriile unui post, ci obiectul categoriei curente.

Mulțumesc mult, Ben :-)

1
Comentarii

Ar trebui să votezi în sus răspunsul lui Fernando și să îl marchezi ca soluție

kaiser kaiser
25 ian. 2011 18:36:12
Toate răspunsurile la întrebare 5
1
15

Bine, deci am găsit în sfârșit răspunsul pe care îl căutam:

$thisCat = get_category(get_query_var('cat'),false);

Nu mai contează :-)

25 ian. 2011 13:07:38
Comentarii

Acesta ar trebui să fie răspunsul acceptat!

aletede91 aletede91
2 mar. 2017 13:54:45
0

$wp_query->get_queried_object() este o funcție foarte versatilă. Va returna categoria curentă, eticheta, termenul de taxonomie personalizată, autorul, pagina sau articolul, în funcție de pagina/arhiva pe care o vizualizați. Deosebit de utilă dacă doriți să simplificați anteturile arhivelor.

26 ian. 2011 16:54:10
2

Pentru a obține obiectul categoriei, folosește get_category (codex). Este ușor dacă cunoști numele, slug-ul sau ID-ul, dar dacă nu le cunoști, poți folosi is_category pentru a verifica în ce categorie te afli și apoi să transmiți ID-ul către get_category.

25 ian. 2011 13:11:39
Comentarii

Acest lucru nu are de fapt sens. De fapt, acesta este singurul răspuns care NU este un răspuns corect. OP dorea o modalitate de a obține obiectul categoriei. is_category nu "verifică în ce categorie vă aflați" - vă spune DACA sunteți pe o pagină de categorie. Dacă aveți ID-ul, atunci da, puteți folosi get_category(), dar presupun că aici OP folosea ID=4 ca un exemplu arbitrar, dar de fapt nu ar fi știut dinainte ID-ul categoriei pe care dorea să o interogheze.

Tom Auger Tom Auger
2 iun. 2011 03:02:00

Acesta nu este un răspuns corect...! Cum ai scris și tu, Tom.

jepser jepser
22 mai 2012 21:41:36
0

Personal, aș recomanda să te obișnuiești să folosești get_term sau get_terms, deoarece funcțiile pentru categorii sunt doar funcții wrapper care la rândul lor apelează get_term(s).

<?php 
$queried_category = get_term( get_query_var('cat'), 'category' ); 

// echo $queried_category->term_id; // ID-ul categoriei
// echo $queried_category->slug; // Slug-ul categoriei
// echo $queried_category->name; // Numele categoriei 
// echo $queried_category->description; // Descrierea categoriei 
?> 

Obisnuindu-te cu funcțiile pentru termeni va face lucrul cu taxonomii personalizate mai ușor, deoarece în astfel de cazuri vei folosi aceste funcții.

http://codex.wordpress.org/Function_Reference/get_term
http://codex.wordpress.org/Function_Reference/get_terms

Și o funcție pe care nu o văd folosită des, dar care poate fi foarte utilă.
http://codex.wordpress.org/Function_Reference/get_term_by
Care oferă o modalitate de a obține un obiect termen bazat pe nume, slug sau ID.

26 ian. 2011 16:16:48
1

Un caz interesant în care una dintre multiplele pagini de arhivă de categorii incluse într-un meniu personalizat a returnat un array gol pentru

get_the_category();

m-a obligat să analizez toate diferitele metode de a rezolva problema (fără joc de cuvinte intenționat).

is_category() RETURNEAZĂ true
get_the_category() RETURNEAZĂ un array gol
the_category() RETURNEAZĂ NULL

Soluția finală s-a dovedit a fi cea propusă de Ben Everard

 get_category(get_query_var('cat'), false) RETURNEAZĂ obiectul WPCategory corect

Mulțumesc!

14 ian. 2013 20:57:33
Comentarii

de fapt, răspunsul lui @JanFabry este cel care ar trebui marcat ca "corect" aici - get_queried_object(), mult mai simplu și metoda preferată.

Milo Milo
14 ian. 2013 21:38:45