Pot folosi get_adjacent_post pentru anumite categorii? (WordPress, Categorii, Taxonomie, Următorul Link De Postare, Linkul Postului Anterior)

bigmike7801 a intrebat.

Vreau să obțin postările următoare și anterioare pe baza unei anumite categorii de slugs. De exemplu, unele postări ar putea avea categoria „sport”, în timp ce alta are categoria „tech”.

Speram să introduc o lozincă de categorie în get_adjacent_post dar se pare că nu funcționează. Se pare că vrea doar să folosească slug-ul „category” sau poate taxonomii personalizate, mai degrabă decât slug-uri în cadrul taxonomiei „category”.

Iată un exemplu a ceea ce am încercat să fac:

$adj = get_adjacent_post(true, '', true, 'sports');

2 răspunsuri
Rarst

Ceea ce numiți „slugs” aici se numește mai corect „slugs termeni. Este un pic confuz cu taxonomiile native pentru că se transformă în tautologie: categoriile individuale sunt termeni ai categoriei taxonomie.

Deci sports și tech sunt termeni ai nativului category taxonomie.

Argumentele funcției operează cu taxonomie și nu la nivel de termen nivel de termen. Adică trebuie să furnizați un slug de taxonomie, cum ar fi category, , și toate toți termenii din acea taxonomie vor fi luați în considerare pentru o potrivire.

Din punctul de vedere al argumentelor, una dintre opțiunile de aici este să utilizați $excluded_terms pentru a exclude totul în afară de termenul dorit.

În afară de asta, este o funcție de nivel destul de scăzut, care generează direct o mulțime de SQL personalizat. Există o mulțime de filtre pentru a manipula această parte a procesului, cum ar fi get_{$adjacent}_post_join și get_{$adjacent}_post_where, , dar nu este ceva ce aș numi ușor reglabil.

Pat J

În conformitate cu documentația pentru get_adjacent_post(), , parametrii sunt:

$in_same_term (bool) (Opțional) Dacă postarea trebuie să se regăsească în același termen taxonomic.
Valoarea implicită: false

$excluded_terms (array|string) (Opțional) Array sau listă de ID-uri ale termenilor excluși, separate prin virgulă.
Valoarea implicită: ''

$previous (bool) (Opțional) Dacă trebuie recuperată postarea anterioară.
Default value (Valoare implicită): true

$taxonomy (string) (Opțional) Taxonomie, dacă $in_same_term este true.
Valoarea implicită: 'category'

$taxonomy este pentru a vă permite să specificați ce taxonomie (categorie, etichetă sau taxonomie personalizată) doriți să utilizați pentru a selecta postul adiacent.

Deci nu, se pare că nu puteți specifica termenul de taxonomie (de ex, sports sau tech în întrebarea dumneavoastră).