Welche Vorlagenseite sollte ich verwenden?

Ich habe mehrere benutzerdefinierte Beitragstypen erstellt (z. B. FAQs, Produkte und Fallstudien) und eine globale benutzerdefinierte Taxonomie für die Verwendung in allen CPTs registriert. In meinem Fall wird diese Taxonomie als Publikum bezeichnet . Diese sind als Verbraucher, Architekten und Händler aufgeführt.

In diesem Beispiel verwende ich FAQs in der Merchants-Taxonomie.


Ich habe Mühe herauszufinden, wie man die FAQs für eine bestimmte Zielgruppe filtern kann. Mein archive-faqs.php listet alle FAQs auf, unabhängig vom Typ der Zielgruppe.

Ich möchte alle FAQs anzeigen können, die als Händler gekennzeichnet sind. Was sind meine Möglichkeiten dafür?

  • Erstelle ich eine benutzerdefinierte page.php Vorlage und erstelle eine benutzerdefinierte Schleife dafür?
  • Wie archive-faqs.php ich meine archive-faqs.php , um einen Abfrage-String zu bekommen?
  • Gibt es einen besseren Weg, dieses Ziel zu erreichen?

Solutions Collecting From Web of "Welche Vorlagenseite sollte ich verwenden?"

Sie könnten immer eine benutzerdefinierte wp_query erstellen und in eine template-custom.php einfügen.

 $the_query = new WP_Query( array( 'post_type' => 'faqs', 'tax_query' => array( array ( 'taxonomy' => 'audiences', 'field' => 'slug', 'terms' => 'merchants', ) ), ) ); while ( $the_query->have_posts() ) : $the_query->the_post(); // Show Posts ... the_title(); endwhile; /* Restore original Post Data */ wp_reset_postdata(); 

Ich habe Mühe herauszufinden, wie man die FAQs für eine bestimmte Zielgruppe filtern kann. Mein Archiv-faqs.php listet alle FAQs auf, unabhängig vom Typ der Zielgruppe.

  • Sie haben also FAQs
  • Sie haben einige FAQs, die für eine Zielgruppe geeignet sind
  • Einige eignen sich für ein anderes Publikum

Was wäre, wenn wir diese FAQs nach Zielgruppen gruppieren würden? Plötzlich haben wir eine Taxonomie von FAQs, FAQ Audience

Jetzt haben Sie archive-faqs.php zum Auflisten von FAQs, aber Sie haben auch taxonomy-audiences.php für FAQs für eine bestimmte Zielgruppe. Denken Sie daran, dass der Inhalt die Vorlage bestimmt und nicht umgekehrt. archive-faq.php lässt die Seite nicht laden FAQ’s es lädt und archiviert archive-faq.php , die WP laden archive-faq.php . WP hat bereits alle Beiträge abgerufen, als entschieden wird, welche Vorlage geladen werden soll.

Zu diesem Zweck verfügen Sie bereits über ein Archiv, in dem häufig gestellte Fragen vom Publikum angezeigt werden, wahrscheinlich unter example.com/audiences/audienceslug

Die Vorlagenhierarchie schlägt vor, dass die folgenden Vorlagen getestet werden:

  • taxonomy-audiences-auditorslug.php
  • Taxonomie-Publikum.php
  • Taxonomie.php
  • archiv.php
  • index.php

Details zur Taxonomie-Vorlage finden Sie hier

Ein Wort vom Weisen

Es ist sehr verlockend, Seitenvorlagen und andere Vorlagen zu erstellen und dann WP_Query oder get_posts . Wenn Sie eine besonders schreckliche Person sind, können Sie query_posts .

Dies ist falsch, wenn Sie den Filter ändern oder anpassen möchten, welche Posts die Hauptabfrage von der database pre_get_posts , verwenden Sie den pre_get_posts Filter, um das Abfrageobjekt zu ändern. Auf diese Weise können Sie Argumente hinzufügen und sie entfernen, bevor sie in die database gelangen.