Come superare i parametri URL per le query di tassonomia avanzata con più termini per una tassonomia personalizzata
Domanda
Questa risposta Fornisce il codice per una query che restituisce un o corrisponde a un termine di tassonomia:
global $query_string; $args['tax_query'] = array( array( 'taxonomy' => 'status' ,'terms' => array( 'available', 'pending' ) // change to "sold" for 2nd query ,'field' => 'slug' ), );
Mi piacerebbe avere il mio modello di tassonomia recuperare il termine valori per l'array (, "termini" => array ("disponibile", "in sospeso")) dall'URL, lo stesso del singolo termine.
Il punto è consentire ai termini della tassonomia di cambiare nel tempo, senza dover codificare i modelli di pagina per particolari combinazioni di interesse, in modo che, se esiste un modo migliore, ti preghiamo di suggerirlo.
Grazie a questo post Ho permalink mapping ai file modello come segue:
example.com/cptslugs maps to my archive-cptname.php template. example.com/cptslug/cpt-post maps to my single-cptname.php template. example.com/cptslugs/ctxslug/term maps to my taxonomy-ctxname.php template.
Mi piacerebbe avere qualcosa di simile:
Esempio.com/cptslugs/ctxslug/term1/term2/
Mappa al mio modello Taxonomy-Ctxname.php in modo tale che get_query_var ('termine') restituisca una matrice di termini (termine1, termine2) dall'URL.
Ma se potessi ottenere
Esempio.com/cptslugs/ctxslug/?terms=term1,term2
Per mappare al mio modello Taxonomy-Ctxname.Php in modo tale che get_query_var ('termine') restituisca una serie di termini (termic1, termini) dall'URL, forse tramite una regola di riscrittura e un filtro, sarebbe anche OK.
Ma in entrambi i casi, l'idea è che il file del modello dovrebbe funzionare, che sia superato un termine o una serie di termini.
AGGIORNARE
Ok - @scripu in salvataggio! -- può essere. Continuava a cercare, e questo è quello che ho trovato. Pensavo di averlo pensato tutto, ma non riesco a farlo funzionare.
?tax1=term1,term2&tax2=term2+term3
mappe a:
query_posts( array( 'tax1' => 'term1,term2', 'tax2' => 'term3+term4' ) );
che ulteriori mappe a:
query_posts( array( 'tax_query' => array( array( 'taxonomy' => 'tax1', 'field' => 'slug', 'terms' => array('term1', 'term2'), 'operator' => 'OR' ), array( 'taxonomy' => 'tax2', 'field' => 'slug', 'terms' => array('term3', 'term4'), 'operator' => 'AND' ), ) );
Esempio.com/?ctxname=term1,term2
rende il modello di prima pagina. Revisione: rende tassonomio-ctxname.php quando si scrive correttamente ctxname. Imaginglo!
Esempio.com/?cptslug/ctxlg=term1,term2
(La tassonomia è registrata con una lumaca di CPTLUG/CTXLUG) Inoltre rende il modello di prima pagina.
Esempio.com/cptslug/?ctxlug=term1+term2
Rende il modello Archive-ctpname.php.
Come ottengo un URL che rende il modello tassonomio-ctxname.php o tassonomy.php?
Quindi, una volta abbattuto, i suggerimenti per i bei URL sono i benvenuti ma non assolutamente necessari.
Aggiorna due
example.com/?ctxname=term1,term2
e
example.com/ctpslugs/ctxslug/term1,term2/
Entrambi rendono la tassonomia-ctxname.php come desiderato. Vedi i dettagli nella mia risposta, pubblicato di seguito.
Nessuna soluzione corretta