Posts by Taxonomy¶
Überblick¶
twtheme_posts_by_taxonomy() liefert eine sortierte Liste von Post‑IDs anhand von Terms einer Taxonomie.
Die Funktion nutzt Transients zur Performance‑Optimierung.
Anwendung¶
$ids = twtheme_posts_by_taxonomy(
'category',
[
'post_type' => 'post',
'orderby' => 'date',
'order' => 'DESC',
],
[
'hide_empty' => true,
],
[
'order' => 'ASC',
'orderby' => 'title',
],
'blog_by_category',
DAY_IN_SECONDS
);
Parameter¶
| Parameter | Typ | Beschreibung |
|---|---|---|
$taxonomy |
string |
Taxonomie‑Slug (z. B. category, post_tag, eigene Taxonomie). |
$args |
array |
WP_Query‑Args, z. B. post_type, orderby, order. |
$term_args |
array |
get_terms()‑Args, z. B. hide_empty. |
$sort |
array |
Sortierung für usort() (Termname + Post‑Feld). |
$transient_name |
string |
Pflicht: Cache‑Key‑Prefix. |
$transient_period |
int |
Cache‑Dauer (z. B. HOUR_IN_SECONDS). |
Verhalten¶
- Die Funktion setzt intern
fields = 'all'undsuppress_filters = false. - Bestimmte
orderby‑Werte sind nicht erlaubt (z. B.rand,meta_value,post__in). - Ohne
$transient_namewird abgebrochen (Rückgabe: Fehlhinweis). - Ergebnisse werden per
twtheme_get_transient()/twtheme_set_transient()gecacht.
Rückgabe¶
arraymit Post‑IDs odernullbei ungültigen Parametern.
Typische Einsatzfälle¶
- Posts je Taxonomie gruppieren und stabil sortieren
- Performance‑optimierte Listen für Templates oder Shortcodes