Ich habe vor kurzem ein neues Premium-WordPress-Fotografie-Theme veröffentlicht und beim Einrichten des Blog-Bereichs mehrere verschiedene Postformate hinzugefügt – Zitate, Links, Videos, Bilder und Standard. Dies war großartig, um verschiedene Inhalte im Blog zu präsentieren, aber ich wollte keine tatsächlichen Beiträge für die Zitate/Link-Port-Formate haben, da sie so wenig Inhalt haben, also habe ich beschlossen, die Permalink-Struktur für diese zu entfernen.
Das Problem trat auf, als ich eine benutzerdefinierte Archivvorlage einrichtete, weil ich nicht wollte, dass die Zitat- oder Link-Posts angezeigt werden, da sie keinen Inhalt haben. Nach einigem Herumspielen habe ich eine großartige Möglichkeit gefunden, alle Postformate aus Ihren benutzerdefinierten WordPress-Schleifen auszuschließen, indem ich eine tax_query in meinem get_posts-Argument verwende, um diese Postformate auszuschließen.
Unten ist eine kurze Beispielschleife, wie man exclude-Postformate mit tax_query.
$args = array( 'numberposts' => 10, post_type' =>'post', 'tax_query' => array( array( 'taxonomy' => 'post_format', 'field' => 'slug', 'terms' => array( 'post-format-quote','post-format-link' ), 'operator' => 'NOT IN', ), ) ); $posts= get_posts($args);
Wie funktioniert die Steuerabfrage?
Wir verwenden grundsätzlich die Steuerabfrage, um alle Beiträge anzuzeigen, die „nicht im“ Begriffs-Array enthalten sind, das aus Zitat- und Link-Beitragsformaten besteht. Natürlich können Sie jedes beliebige Postformat hinzufügen, das Sie ausschließen möchten, genau wie ich es getan habe, indem Sie sie durch Kommas trennen. Schau dir den Beitrag auf WordPress.org zum Thema „Taxonomieparameter“ zum Weiterlesen und Verwenden.