Home › Forum › Problemi Vari con WP › in_category con parametro nominale e non ID
-
AutorePost
-
-
22 Febbraio 2008 alle 23:49 #5893gollum1Partecipante
Questa volta tocca a me porre una domanda, ho cercato sul forum, sul wiki sul codex.wordpress.org, ma l’unica cosa a cui sono arrivato è che in_ctegory() accetta come parametro il solo ID di una categoria.
qualcuno ha idea di come si possa fare perché invece si usi il nome della categoria invece dell’ID?
potrebbe essere valutabile l’idea di costruire una in_category_nome() nel file funtions.php del tema?
a questo punto credo che sarebbe solo una richiesta sul DB mysql del numero della categoria della categoria passata come nome, e restituire il calore fornito da in_category finalmente su questo ID…
Che voi sappiate, è previsto nel nuovo wp2.5 una funzione nativa del genere? sapete se esiste già un plugin che svolge questa funzione? mi conviene realizzare un plugin che faccia questa funzione? o la soluzione migliore è quella della semplice funzione locale al tema?
Ciao e Grazie
—
Gollum1
-
23 Febbraio 2008 alle 7:56 #50977SteveAglAmministratore del forum
Esiste un ticket sul track che propone la modifica da te desiderata ( http://trac.wordpress.org/ticket/4558 ) ma con il congelamento delle nuove funzionalità per la beta non credo verrà inserito in questa distribuzione. Per ora quindi dovresti creare una funzione per il tuo tema, magari prendendo spunto dal codice allegato a quel ticket per creare una funzione simile. Creare un plugin ha il vantaggio di poterla usare dappertutto… ma considerando che verrà quasi sicuramente resa disponibile in una prossima versione, forse il gioco non vale la candela.
-
23 Febbraio 2008 alle 9:06 #50985gollum1Partecipante
Ti ringrazio della risposta, opterò per la funzione inserita direttamente nel tema, che è la cosa più semplice e meno invasiva, poi se a qualcuno interessa posso dare il codice direttamente.
andrò a guardarmi il riferimento che mi hai passato, anche perché mi preoccupa sempre accedere direttamente al DB di wordpress (conosco mysql, ma pastrocchiare con wp da sempre qualche casino) vero è che in questo caso si tratterebbe esclusivamente di una operazione di semplice lettura…
quello che potrebbe creare dei problemi è il fatto di richiamare in più punti (molti) la funzione, ci sarebbe un accesso ad DB notevole. Forse potrebbe essere il caso di creare una funzione che memorizzi in un array direttamente tutte le coppie ID->Nome e poi la funzione di cui si parlava che vada a leggere semplicemente questo array…
vabbò… nei prossimi giorni ci penserò un po’ su e vedrò di fare la cosa.
Grazie ancora Steve per la disponibilità .
-
24 Febbraio 2008 alle 11:04 #51017gollum1Partecipante
4 righe nella funtion.php ed ho risolto il problema: non ho riscritto la funzione in_category, ne ho creata una apposita, per non creare problemi nel momento in cui avranno aggiornato WP stesso…
praticamente ho preso bellemente quel codice che mi hai linkato tu Steve, ed inserito nel funtion.php ha funzionato al primo colpo.
Lo riporto per chi possa essere interessato:
function in_category_name( $category ){
global $object_term_cache, $post, $blog_id;
if ( !is_numeric($category) ) {
$category = get_cat_ID($category);
}
if ( isset( $object_term_cache[$blog_id][$post->ID][$category] ) )
return true;
else
return false;
}
-
24 Febbraio 2008 alle 11:09 #51018SteveAglAmministratore del forum
Ottimo queste ed altre cose dovranno trovare un posto nella nuova knoledge base o nelle nuove FAQ (arrivano in settimana… vuote)
-
-
AutorePost
- Devi essere connesso per rispondere a questo topic.