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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top