Zum Inhalt

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' und suppress_filters = false.
  • Bestimmte orderby‑Werte sind nicht erlaubt (z. B. rand, meta_value, post__in).
  • Ohne $transient_name wird abgebrochen (Rückgabe: Fehlhinweis).
  • Ergebnisse werden per twtheme_get_transient()/twtheme_set_transient() gecacht.

Rückgabe

  • array mit Post‑IDs oder null bei ungültigen Parametern.

Typische Einsatzfälle

  • Posts je Taxonomie gruppieren und stabil sortieren
  • Performance‑optimierte Listen für Templates oder Shortcodes