Postformate optimal nutzen Tools für die Inhaltsorganisation

Abfragen per Post-Format

Ich weiß, was ich zuvor gesagt habe, Post-Formate sind kein organisatorisches Werkzeug, aber solange Sie Ihre Videos als Videos, Bilder als Bilder usw. kennzeichnen, können Sie dies ebenso gut zum Organisieren Ihrer Website verwenden. Das Hinzufügen einer redundanten Taxonomie macht keinen Sinn. Zumal Postformate mit der Taxonomie "post_format" gesetzt werden.
Dies bedeutet, dass wir eine ähnliche Abfrage wie die im vorherigen Schritt verwendete verwenden können, um eine Abfrage nach Taxonomie durchzuführen, diesmal unter Verwendung der "post_format" -Taxonomie, um nach Taxonomien abzufragen. Wieder werden wir die verwenden 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.

Ein Post-Format-Menü erstellen

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.

Postformate aus dem Hauptblog-Index entfernen

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.

Gehen Sie weiter und formatieren Sie

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.