Medienbibliothek Kategorie Baum ausschließen

Ich habe Code, der die letzten 5 Bilder aus der WordPress-Medienbibliothek zurückgibt:

 'attachment', 'numberposts' => '5', 'category__not_in' => $excluded ); $images = get_posts($args); if (!empty($images)) { ?> 
Recently Added

Ich schließe einige Kategorien aus, die ich nicht anzeigen möchte (1,35,37). Das funktioniert, aber manchmal habe ich mehrere Kategorien zusätzlich zu den ausgeschlossenen Kategorien … wenn Kategorie 1 ausgewählt ist und Kategorie 15 ausgewählt ist, wird das Bild nicht angezeigt, weil Kategorie 1 ausgewählt ist.

Ich versuche nur, die Kategorien auszuschließen, wenn diese Kategorien selbst ausgewählt werden. Wenn sie mit einer anderen Kategorie ausgewählt werden, die nicht ausgeschlossen ist, sollten sie angezeigt werden. Ein Bild, das Kategorie 1 und Kategorie 12 ausgewählt hat, sollte weiterhin angezeigt werden, da Kategorie 12 nicht Teil meiner ausgeschlossenen Liste ist.

Kann mir jemand in die richtige Richtung zeigen?

Vielen Dank,
Josh

Solutions Collecting From Web of "Medienbibliothek Kategorie Baum ausschließen"

Anstatt zu versuchen, “ausgeschlossene Kategorien” zu verwenden, sollten Sie “eingeschlossene Kategorien” verwenden.

Eine Lösung wäre:

  • Erstellen Sie ein Array der Kategorien, die Sie ausschließen möchten
  • Erstellen Sie ein Array aller Kategorien
  • Verwenden Sie “array_diff”, um ein Array der einzubeziehenden Kategorien zu erstellen

Oder vielleicht können Sie mit der WordPress-function “get_terms” arbeiten, um die Liste der einzubeziehenden Kategorien zu erstellen.

Ich hoffe das hilft

Dies endete damit, es zu lösen, Hut p1erstef zu p1erstef für den Vorschlag, die Kategorien p1erstef anstatt sie auszuschließen.

Am Ende habe ich eine neue Kategorie mit dem Namen “Pictures” erstellt. Ich habe alle meine anderen Unterkategorien von “Pictures” erstellt, was bedeutet, dass mein Code viel einfacher wird:

 < ?php $args = array( 'post_type' => 'attachment', 'numberposts' => '5', 'category_name' => 'pictures' ); $images = get_posts($args); if (!empty($images)) { ?> 
Recently Added
< ?php } ?>

Dies ist eine großartige Lösung, weil es das von mir gesuchte Verhalten hat, und wenn ich keine Kategorie enthalten möchte, mache ich es nicht zu einer Unterkategorie von “Bilder” und es wird nicht angezeigt.

Vielen Dank,
Josh