Abfragen per Post-Format
Steuerabfrage
Argument für WP_Query
. Um alle Beiträge mit dem Angebotsformat abzufragen, erstellen wir unser WP_Query
so was:$ args = array ('post_type' => 'post', 'tax_query' => array (array ('taxonomy' => 'post_format', 'field' => 'slug', 'terms' => 'post-format -quote ',))); $ query = new WP_Query ($ args);
Beachten Sie, dass im obigen Beispiel dem Begriff "post-format-" vorangestellt wird. Denken Sie auch daran, dass wir den Begriffen in den Begriffen eine Reihe von Begriffen übergeben können Steuerabfrage
um von mehr als einem Format abzufragen.
Wenn Sie viele Posts auf Ihrer Website in einigen Postformaten haben, möchten Sie wahrscheinlich jedes Format hervorheben. Wenn Sie beispielsweise ein visueller Künstler sind, der Ihr Blog verwendet, um Ihre Videos und Bilder zu präsentieren, und Postformate verwenden, können Sie ein Menü mit Ihren Beiträgen zum Format Video und Bild separat erstellen.
Der erste Schritt ist das Einrichten eines Arrays von Argumenten für WP_Query
, genau wie die, die ich dir oben gezeigt habe, außer dieses Mal ohne das spezifische Post-Format, das im Argument "terms" des angegeben ist Steuerabfrage
und eine Reihe von Formaten sowie Beschriftungen zur Verwendung in der Menüausgabe.
Diese beiden Arrays sehen folgendermaßen aus:
// Anfang WP_Query args $ args = array ('post_type' => post ',' posts_per_page '=> 5,' tax_query '=> array (array (' taxonomy '=>' post_format ',' field '=>' Schnecke ',))); // Formate zum Anzeigen von $ formats = array (array ('name' => 'video', 'label' => 'Videos')), array ('name' => 'image', 'label' => 'Photos' ),);
Mit diesen beiden Arrays können wir eine für jeden
Schleife aus dem zweiten Array, um Beiträge mit dem aktuellen Format abzufragen und eine Liste der Beiträge auszugeben. Dazu müssen Sie bei jeder Iteration der Schleife das Argument "terms" mit hinzufügen einstellen()
, Erstellen einer Instanz von WP_Query
, durchlaufen und dann das Bedingungsargument aufheben.
Innerhalb der WP_Query
Während der Schleife können wir verwenden get_term_link ()
um einen Link zur Archivseite des Postformats zu erstellen, bei der es sich tatsächlich um ein Taxonomiebegriff handelt. Für die einzelnen Beiträge können wir verwenden get_permalink ()
um den Link zum Beitrag zu erstellen. So sieht die Schleife aus:
Echo '';
Stellen Sie sicher, dass Sie dem Markup weitere Klassen oder IDs hinzufügen, damit dieser generische Code in Ihrem Design wie ein Menü in Ihrem Design aussieht, und ersetzen Sie die angezeigten Formate entsprechend Ihren Anforderungen.
Da Sie nun ein Menü für Ihre Beitragsformate haben, möchten Sie möglicherweise Beiträge bestimmter Formate aus Ihrem Hauptblog-Index ausschließen. Auf diese Weise können Sie Ihr Blog als Blog und das Postformat-Menü verwenden, um Videos, Bilder, Audiodateien oder andere formatierte Posts hervorzuheben.
Um Beiträge eines bestimmten Formats zu erhalten, müssen Sie ein pre_get_post
filtern, um a Steuerabfrage
zur Hauptabfrage. Das Steuerabfrage
sieht ähnlich aus wie die, die ich Ihnen bereits gezeigt habe, hat jedoch ein zusätzliches Argument, um Beiträge mit dem Format mit dem Argument "Operator" auszuschließen. Wenn Sie den Operator auf "NOT IN" setzen, werden übereinstimmende Posts ausgeschlossen.
Diese Abfrage wird auch in die Bedingung eingeschlossen ist Zuhause()
Um sicherzustellen, dass nur der Hauptindex des Blogs betroffen ist.
So sehen Aktion und Rückruffunktion aus:
add_action ('pre_get_posts', 'slug_no_videos_home')); Funktion slug_no_videos_home ($ query) if ($ query-> is_home () && $ query-> is_main_query ()) $ tax_query = array (array ('taxonomy')>> post_format ',' field '=>' slug ' , 'terms' => 'post-format-video', 'operator' => 'NOT IN',)); $ query-> set ('tax_query', $ tax_query); $ Abfrage zurückgeben;
Wie Sie im Rückruf sehen können, definieren wir a Steuerabfrage
, Verwendung der NICHT IN
Operator und verwenden Sie dann die Set-Methode, um die Steuerabfrage
zur Hauptabfrage des Blogindex.
In dieser fünfteiligen Serie haben Sie gelernt, was Postformate sind, wie Sie Unterstützung für Ihr Thema hinzufügen, wie Sie sie in der Schleife verwenden, sie mit benutzerdefiniertem CSS anvisieren, sie als Massenaktualisierung verwenden und als Inhaltsorganisation verwenden können Werkzeug.
Mit diesem Wissen können Sie leistungsfähigere Themen erstellen, die die Datenportabilität zu einem Kinderspiel machen.