Ottenere l'oggetto categoria nella pagina della categoria

25 gen 2011, 13:00:48
Visualizzazioni: 19.2K
Voti: 7

Ok, spero sia una domanda semplice... Mi trovo in una pagina di categoria con ID 4 e voglio ottenere l'oggetto categoria per poter accedere ad alcuni valori.

Ho cercato a lungo nel codex di WordPress con scarso successo. Ricorda che non voglio ottenere le categorie da un post, ma l'oggetto categoria della categoria corrente.

Grazie mille, Ben :-)

1
Commenti

Dovresti votare positivamente la risposta di Fernando e contrassegnarla come soluzione

kaiser kaiser
25 gen 2011 18:36:12
Tutte le risposte alla domanda 5
1
15

Caspita, alla fine ho trovato la risposta che cercavo:

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

Non importa :-)

25 gen 2011 13:07:38
Commenti

Questa dovrebbe essere la risposta accettata!

aletede91 aletede91
2 mar 2017 13:54:45
0

$wp_query->get_queried_object() è una funzione molto versatile. Restituirà la categoria corrente, il tag, il termine di tassonomia personalizzato, l'autore, la pagina o il post, a seconda della pagina/archivio che stai visualizzando. Particolarmente utile se vuoi semplificare i tuoi titoli di archivio.

26 gen 2011 16:54:10
2

Per ottenere l'oggetto della categoria utilizza get_category (codex). È semplice se conosci il nome, lo slug o l'ID, ma se non li conosci puoi usare is_category per verificare in quale categoria ti trovi e passare l'ID a get_category.

25 gen 2011 13:11:39
Commenti

Questo in realtà non ha senso. Infatti, questa è l'unica risposta che NON è corretta. L'OP voleva un modo per ottenere l'oggetto categoria. is_category non "verifica su quale categoria ti trovi" - ti dice SE sei su una pagina di categoria. Se hai l'ID, allora sì puoi usare get_category(), ma qui presumo che l'OP stesse usando ID=4 come esempio arbitrario, ma in realtà non avrebbe saputo a priori l'ID della categoria che voleva interrogare.

Tom Auger Tom Auger
2 giu 2011 03:02:00

Questa non è una risposta corretta...! Come hai scritto Tom.

jepser jepser
22 mag 2012 21:41:36
0

Personalmente mi abituerei a chiamare get_term o get_terms, dato che le funzioni delle categorie sono solo funzioni wrapper che a loro volta chiamano comunque get_term(s).

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

// echo $queried_category->term_id; // L'ID della categoria
// echo $queried_category->slug; // Lo slug della categoria
// echo $queried_category->name; // Il nome della categoria 
// echo $queried_category->description; // La descrizione della categoria 
?> 

Familiarizzare con le funzioni dei termini renderà più semplice gestire le tassonomie personalizzate, perché in questi casi utilizzerai queste funzioni.

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

E una funzione che non vedo usare molto spesso, ma che può essere davvero utile.
http://codex.wordpress.org/Function_Reference/get_term_by
La quale fornisce un modo per ottenere un oggetto termine basato su nome, slug o ID.

26 gen 2011 16:16:48
1

Un caso interessante in cui una delle molte pagine di archivio di categorie incluse in un menu personalizzato restituiva un array vuoto per

get_the_category();

mi ha costretto a esaminare tutti i diversi modi per risolvere il problema (senza voler fare giochi di parole).

is_category() RESTITUISCE true
get_the_category() RESTITUISCE un array vuoto
the_category() RESTITUISCE NULL

La soluzione finale si è rivelata essere quella proposta da Ben Everard:

get_category(get_query_var('cat'), false) RESTITUISCE il corretto oggetto WPCategory

Grazie!

14 gen 2013 20:57:33
Commenti

in realtà, la risposta di @JanFabry è quella che qui dovrebbe essere contrassegnata come "corretta" - get_queried_object(), molto più semplice e il metodo preferito.

Milo Milo
14 gen 2013 21:38:45