Ich bin ein großer Fan der WP_Query-Klasse: Ich verwende sie auf mehreren Client-Websites, um Daten auf personalisierte Weise abzurufen und anzuzeigen.
Wenn Sie mehrere Schleifen auf einer Seite verwenden möchten, können Sie "WP_Query" am besten ausführen, wenn Sie eine Schleife benötigen.
Es gibt jedoch einen Nachteil: Immer wenn WordPress eine Schleife ausführt, sendet es Abfragen an die Datenbank, was länger dauert und Ihre Website verlangsamen kann.
In diesem Tutorial werde ich Ihnen zeigen, wie Sie eine Abfrage für mehr als eine Schleife verwenden. Sie können dies mit der Hauptabfrage oder mit WP_Query auf die gleiche Weise tun.
Wir werden 3 Aspekte erkunden:
- Erstellen Sie ein untergeordnetes Thema und eine Vorlagendatei.
- Erstellen Sie ein Vorlagenstück für den Loop-Inhalt.
- Erstellen Sie unsere Loops.
Aber bevor wir gemeinsam entdecken Wie man ein Wordpress-Blog 7 Schritte für die Installation et Wie finden, zu installieren und ein Wordpress-Theme auf Ihrem Blog aktivieren
Dann zurück zu warum wir hier sind.
Was du brauchst
Um dieses Tutorial zu folgen, benötigen Sie:
- Aus einer WordPress-Installation zur Entwicklung (lokal).
- Ein Code-Editor.
- Artikel in Ihrer Website mit mehreren Kategorien zugewiesen
- das sechzehnundzwanzigste Thema von WordPress
- Ein untergeordnetes Thema von 16 Jahren wurde installiert und aktiviert
Diese Technik passt sich auch an Ihre Situation und an Ihre an Wordpress-Theme.
Ein untergeordnetes Thema erstellen
Zuerst werden wir das Kinderthema von XNUMX erstellen. Ich mache das, weil ich das übergeordnete Thema nicht ändern möchte.
Entdecken Sie Wie ein Wordpress-Theme installieren Kind
Erstellen Sie in Ihrem Ordner "wp-content / themes" einen neuen leeren Ordner, den Sie "Tutor-Theme" nennen. Sie können später den Namen wählen, der zu Ihnen passt.
Erstellen Sie in diesem Ordner eine Datei mit dem Namen style.css und fügen Sie den folgenden Code hinzu:
/*
Name des Themas: Tuto Theme
Theme URI: https://blogpascher.com
Beschreibung: Theme zur Unterstützung des Tutorials zum Ausführen mehrerer Schleifen, während die Datenbank nur einmal abgefragt wird. Kinderthema für das Twenty Sixteen-Thema.
Autor: Hervé
Autoren-URI: https://blogpascher.com
Vorlage: Twentysixteen
Version: 1.0
*/
@import url ("../twentysixteen/style.css");
Speichern Sie nun diese Datei und aktivieren Sie Ihre neue Wordpress-Theme.
Der nächste Schritt besteht darin, eine Vorlagendatei für die Kategorien zu erstellen. Daran werden wir arbeiten.
Erstellen Sie eine Kopie der Datei „archive.php“ aus dem Wordpress-Theme „Sechzehnundzwanzig.“ Verschieben Sie es nicht, sondern erstellen Sie eine Kopie davon. Benennen Sie es in „category.php“ um.
Um weiter zu gehen, entdecken Sie Wie die Verwaltung von Dateien und Ordnern Wordpress
Dies ist nun die Vorlagendatei für die Kategorien Ihrer Website.
Neue Vorlagendatei erstellen
Der erste Schritt besteht darin, eine neue Vorlagendatei in unserem Design zu erstellen, die eine geänderte Version der "26" -Schleife enthält.
Lassen Sie uns auch gemeinsam beraten So versetzen Sie Ihre WordPress-Website in den Wartungsmodus
Erstellen Sie im untergeordneten Themenordner einen Unterordner mit dem Namen "includes". Und im Inneren erstellen Sie eine neue Datei mit dem Namen "loop-category.php".
Öffnen Sie als Nächstes die Datei "template-parts / content.php" aus den übergeordneten Themenordnern (16) und suchen Sie den folgenden Code:
"" >
', esc_url (get_permalink ())),' '); ?>
/ * Übersetzer:% s: Name des aktuellen Beitrags * /
the_content (sprintf (
__ ('Lesen Sie weiter '% s ' ', 'sechsundzwanzig'),
get_the_title ()
));
wp_link_pages (array (
'vor' => ' '. __ ('Seiten:', 'sechsundzwanzig'). ' ',
'after' => ' ',
'link_before' => ' ',
'link_after' => '',
'pagelink' => ' '. __ ('Seite', 'sechsundzwanzig'). ' %',
'Trennzeichen' => ' , ',
));
?>
edit_post_link (
sprintf (
/ * Übersetzer:% s: Name des aktuellen Beitrags * /
__ ('Edit '% s ' ', 'twentysixteen'),
get_the_title ()
),
' ',
''
);
?>
Kopieren Sie diesen Code in die neue Datei "loop-category.php" des untergeordneten Themas.
Bearbeiten der Vorlagenteildatei
Die "Twenty Sixteen" -Schleife zeigt mehr als das, was ich brauche, also werde ich diesen Code bearbeiten. Ich möchte nur das Snippet und nicht den Inhalt anzeigen, also entfernen wir den Inhalt.
Was ist der Unterschied zwischen H1 und dem SEO-Titel eines WordPress-Artikels? Finden Sie es heraus, indem Sie diesen Artikel konsultieren.
Suchen Sie in Ihrer neuen loop-category.php-Datei diesen Code und löschen Sie ihn:
<div class = "Eintragsinhalt">
/ * Übersetzer:% s: Name des aktuellen Beitrags * /
the_content (sprintf (
__ ('Lesen Sie weiter '% s ' ', 'sechsundzwanzig'),
get_the_title ()
));
wp_link_pages (array (
'vor' => ' '. __ ('Seiten:', 'sechsundzwanzig'). ' ',
'after' => ' ',
'link_before' => ' ',
'link_after' => '',
'pagelink' => ' '. __ ('Seite', 'sechsundzwanzig'). ' %',
'Trennzeichen' => ' , ',
));
?>
Der andere Schritt besteht darin, die Funktion "Twenty_sixteen_excerpt ()" durch die Funktion "the_excerpt ()" zu ersetzen, da die Version von Twenty Sixteen keinen Link zum vollständigen Artikel enthält.
Siehe auch Wie aktuelle Artikel in einer bestimmten Kategorie anzuzeigen
Finden Sie diese Zeile:
Ersetzen Sie es mit diesem:
Wir müssen auch einige Änderungen an den Titel-Tags vornehmen.
Ändern Sie im Modellteil die Zeile:
', esc_url (get_permalink ())),' '); ?>
Bearbeiten Sie die H2-Tags für H3:
', esc_url (get_permalink ())),' '); ?>
Registrieren Sie Ihr Modell. Kehren Sie dann zu Ihrer category.php-Datei zurück, und wir werden fortfahren.
Loops erstellen
Zunächst werden wir die Aufnahme des Codes für "Twenty Sixteen" aus unserer "category.php" -Datei entfernen, da wir die neue Datei verwenden müssen.
In deiner category.php Datei findest du diesen Code:
get_template_part ('template-parts / content', get_post_format ());
Und löschen Sie die.
Dann werden wir die Schleifen erstellen.
In diesem Beispiel werde ich alle Beiträge mit dem Tag "content" unter Verwendung des bedingten Tags "has_tag ()" anzeigen. Dies bedeutet, dass ich drei Schleifen durchlaufen muss:
- Die erste Überprüfung, ob die Abfrage Elemente mit diesem Tag veröffentlicht hat.
- In diesem Fall werden im zweiten die Artikel mit dieser Bezeichnung angezeigt.
- Ein dritter zeigt Artikel ohne diesen Tag an.
Zwischen den einzelnen Schleifen verwende ich rewind_posts (), um Nachrichten zurückzuspulen, ohne die Abfrage zurückzusetzen: Wir arbeiten jedes Mal mit der Hauptanforderung.
Die erste Schleife: Überprüfung von Artikeln
Suchen Sie in Ihrer "category.php" -Datei den Anfang der Schleife:
while (have_posts ()): the_post ();
Definieren Sie über dieser Zeile eine neue Variable namens $ count:
Count $ = 0;
Fügen Sie dann innerhalb dieser Schleife diesen Code hinzu:
// überprüfe ob es Beiträge mit dem Tag »gibt
$ tag = 'content';
if (has_tag ($ tag)) {
$ count + = 1;
}
Dieser Code prüft, ob die Nachrichten die Bezeichnung "Inhalt" haben, und fügt dem Zähler in diesem Fall 1 hinzu.
Das Innere der Schleife sieht ungefähr so aus:
// Nach Posts in der ersten Schleife suchen.
Count $ = 0;
while (have_posts ()): the_post ();
// überprüfe ob es Beiträge mit dem Tag »gibt
$ tag = 'content';
if (has_tag ($ tag)) {
$ count + = 1;
}
endwhile;
Die zweite Schleife: Artikel mit dem Tag wiederherstellen
Der nächste Schritt ist eine Schleife, um Artikel mit diesem Tag nur dann anzuzeigen, wenn es welche gibt.
Zum Beispiel, wenn der Wert von $ count größer als 0 ist.
entdecken Sie auch Wie die Wordpress-Dashboard für einen Kunden anpassen
Fügen Sie diese Bedingung zur Schleife hinzu:
if ($ count> 0) {
rewind_posts ();
Echo ' Beiträge markiert mit '. $ tag. ' ';
while (have_posts ()): the_post ();
if (has_tag ($ tag)) {
get_template_part ('includes / loop', 'category');
}
// Beende die Schleife.
endwhile;
}
Dieser Code überprüft, ob $ count größer als Null ist. In diesem Fall werden die Elemente zurückgespult und die Schleife erneut ausgeführt. Für jeden Artikel wird geprüft, ob er unser Etikett besitzt. In diesem Fall wird der Teil der Vorlage aufgerufen, den wir gerade erstellt haben.
Die dritte Schleife: Sehen Sie sich den Rest der Artikel an
Die Ausgabe ist eine letzte Schleife für die verbleibenden Artikel. Wenn diese Kategorie keinen Artikel mit dem Tag "Inhalt" enthält, werden alle Artikel in der Kategorie angezeigt.
Fügen Sie in Ihrer zweiten Schleife Folgendes hinzu:
rewind_posts ();
// Zweite Schleife - Beiträge, die nicht mit dem Tag 'content' versehen sind
while (have_posts ()): the_post ();
if (! has_tag ($ tag)) {
get_template_part ('includes / loop', 'category');
}
// Beende die Schleife.
in der Zwischenzeit; ?>
Dieser letzte Code spult die Artikel zurück und führt dann die Schleife erneut aus. Dieses Mal wird geprüft, ob ein Artikel nicht über das Tag "Inhalt" verfügt, sodass der Inhalt im "Vorlagenteil" angezeigt wird.
Wir empfehlen Ihnen auch zu entdecken Wie eine Druckoption Artikel auf Wordpress hinzufügen
Sie können jetzt die Artikelseite Ihres Blogs testen. Denken Sie daran, dass Sie die Filter ändern können. In diesem Tutorial haben wir "content" als Beschriftungsfilter verwendet, aber Sie können einen Ihrer Wahl verwenden.
Entdecken Sie auch einige Premium-WordPress-Plugins
Sie können andere verwenden Wordpress-Plugins um ein modernes Erscheinungsbild zu geben und die Handhabung Ihres Blogs oder Ihrer Website zu optimieren.
Wir bieten Ihnen hier einige Premium-WordPress-Plugins an, die Ihnen dabei helfen werden.
1. Social Wall Addon für UserPro
UserPro kann mit einer sozialen Wand viel mehr Spaß machen. Dies ist, was seine Social Wall-Erweiterung bringt. Mit dem Social Wall-Plugin können Sie eine Pinnwand auf Ihrer Website erstellen und Ihren Mitgliedern eine erfrischende Möglichkeit bieten, mit der Community zu interagieren.
Le WordPress Plugin Social Wall ermöglicht Ihren Benutzern: Nachrichten miteinander zu teilen, Bilder zu teilen, Beiträge anderer Leute zu kommentieren, Benutzer können eine Nachricht mögen oder nicht mögen, sie können wählen, ob die Wand nur für eingeloggte Benutzer oder für alle Benutzer angezeigt werden soll, Administratoren können dies tun Beiträge oder Benutzerkommentare löschen etc.
Herunterladen | Demo | Web-Hosting
2. Flipkart-Partner Plus
Flipkart Affiliate Plus ist ein WordPress Plugin Modul, das Ihre WordPress-Website mit der Flipkart Affiliate API verbindet.
Ce WordPress Plugin Damit ist es sehr einfach, Produktdaten von Flipkart zu importieren und direkt auf Ihrer Website zu aktualisieren. Flipkart Affiliate Plus ist das erste WordPress-Plugin für die offizielle Flipkart-API. Wenn Sie es verwenden, müssen Sie keine API eines Drittanbieters verwenden. So profitieren Sie in vollem Umfang von Ihrer Arbeit.
Herunterladen | Demo | Web-Hosting
3. Actionable Google Analytics für WooCommerce
Actionable Google Analytics ist ein WordPress-Plugin, mit dem Sie einige der besten Funktionen von Universal Analytics nutzen können, darunter: Verbessertes E-Commerce- und Benutzer-ID-Tracking. Darüber hinaus unterstützt dieses Plugin die Anonymisierung von IP-Adressen, Produktrückerstattungen, Inhaltsgruppierung, Formularverfolgung usw.
Durch die Verwendung dieses WordPress-Plugins sparen Sie Zeit bei der Integration von komplexem Google Analytics-Code, sodass Sie sich auf die Verwaltung Ihrer Daten konzentrieren können.
Die Hauptmerkmale sind: schnelle und einfache Installation, Zugriff auf 9 erweiterte E-Commerce-Berichte, die Möglichkeit zu untersuchen, wie verschiedene Geräte von demselben Benutzer verwendet werden und wie Einkäufe getätigt werden; die Fähigkeit zu analysieren, welche Produkte am häufigsten erstattet werden, schließlich Abhilfemaßnahmen zu ergreifen und vieles mehr.
Herunterladen | Demo | Web-Hosting
Andere empfohlene Ressourcen
Wir laden Sie außerdem ein, die unten aufgeführten Ressourcen zu konsultieren, um die Kontrolle und Kontrolle Ihrer Website und Ihres Blogs zu verbessern.
Zusammenfassung
Hier ! Das ist alles für dieses ziemlich technische Tutorial. Ich hoffe, wir haben explizit erklärt, wie WP_Query unter WordPress richtig verwendet wird. fühlen sich frei Teilen Sie den Tipp mit Ihren Freunden in Ihren sozialen Netzwerken.
Sie können jedoch auch unsere RessourcenWenn Sie mehr Elemente benötigen, um Ihre Projekte zur Erstellung von Internetseiten durchzuführen, konsultieren Sie unseren Leitfaden auf der WordPress-Blog-Erstellung.
Aber erzählen Sie uns in der Zwischenzeit von Ihrem commentaires und Vorschläge im entsprechenden Abschnitt.
...
Hallo
Auf jeden Fall vielen Dank für Ihre Antworten und ich wünsche Ihnen viel Glück
wenden
___________ ________ _____ ____________
| Artikel 1 | | arti 2 | | _A3_ | | |
| __________ | | _______ | _____ | Artikel 6 |
______________________ | 5 | | |
| _________ 4 _________ | | ____ | | ___________ |
Hallo Blair
Vielen Dank für diese Tutorials parfais,
Ich möchte bitte um ein wenig Hilfe bitten.
Ich habe mein eigenes Wordpres-Thema (html / css) erstellt und bin auf ein kleines Problem gestoßen, das ich versuchen werde, für Sie zu lösen: Ich plane, eine Website ähnlich wie msn.com zu erstellen. Meine Website wird in mehrere Abteilungen (Überschriften) unterteilt ) welche sind: Nachrichten, Unterhaltung, Gesundheit, Lebensstil ... etc. das heißt, ich möchte eine erste Gruppe von Artikeln und eine zweite Gruppe, eine dritte ... usw. machen. Zeigen Sie jedoch alle Gruppen auf derselben Seite an und dass jede Gruppe zu einem Abschnitt (einer Nische) gehört. Ich frage mich, ob dieses WordPress-Backoffice den Inhalt jedes Abschnitts separat verwalten kann. mit der WordPress-Schleife // Inhalt veröffentlichen leider keine Beiträge gefunden! Ich bekomme eine Mischung aus Gegenständen:
Das heißt, mein zuletzt geschriebener Artikel befindet sich direkt im ersten Abschnitt, der Nachrichten enthält, während es sich beispielsweise um einen Artikel handelt, der zum Lebensstil gehört.
Ich bin auf diese Seite gestoßen https://codex.wordpress.org/fr:La_Boucle Ich denke, die Teil mehr Schleifen mein Problem lösen können!
Ich hoffe du verstehst was ich versuche zu sagen
Vielen Dank im Voraus für Ihre Antwort,
Mit freundlichen Grüßen,
Guten Tag,
Ich denke, Sie erschweren Ihr Leben umsonst. Ich verstehe bereits, dass Sie Ihre Artikel in Kategorien (Abschnitte) organisieren möchten und jeder Abschnitt zu einer Nische gehören kann, bei der es sich um übergeordnete Kategorien handeln kann. Ja, die Schleife kann Ihnen dabei helfen, und sie ist beeindruckend einfach.
Courage!
Bonjour.
Zunächst einmal vielen Dank für Ihre schnelle Antwort. Ich denke, das Thema, das ich gerade erstellt habe, ist nicht mehr mit WordPress kompatibel und daher kommt das Problem.
Da Ihre Kommentare das angehängte Bild nicht unterstützen, erkläre ich es Ihnen durch Zeichnen:
hier ist eine Seite von Kategorien
___________ ________ _____ ____________
| Artikel 1 | | arti 2 | | _A3_ | | | also stell dir vor, dass jeder artikel ist
| __________ | | _______ | _____ | Artikel 6 | dargestellt durch eine Fliese; Also haben wir 6
______________________ | 5 | | | Gegenstände (jede Kachel enthält das Bild
| _________ 4 _________ | | ____ | | ___________ | und den Titel eines bestimmten Artikels)
Mein eigentliches Problem, Herr Blair, ist, dass ich meine Artikel nicht so verpacken kann, dass sie von Quadrat 1 nach Quadrat 6 verschoben werden können, d. h. wenn ich einen neuen Artikel hinzufüge und Ich veröffentliche es Ich möchte, dass es wie in allen bestehenden Themen den Platz von Artikel 1 einnimmt.
- Ich halte dies für unpraktisch, da jeder Beitrag (Artikel) seine eigenen Eigenschaften wie Position, Höhe, Breite usw. hat. Was denken Sie dann?
Natürlich ist die Idee mit diesem Diagramm ein wenig klar. Wenn es mir nichts ausmacht und Sie mir helfen möchten, haben Sie meine E-Mail (Sie müssen nur eine E-Mail mit Ihrem Namen senden).
Nochmals vielen Dank für Ihre rethinks
Guten Abend, in diesem Fall müssen Sie Variablen vom Typ "int" hinzufügen. Jedes Mal, wenn die Schleifenschleife ausgeführt wird, erhöhen Sie die Variable und können entsprechend dem Wert der Variablen l ändern Anzeige des Artikels. Zum Beispiel :
if ($ i == 1) {
// Dein Code hier
} Else if ($ i == 2) {
// so
}
$ I ++;
Leider kann ich Dich nicht persönlich zu diesem Zeitpunkt unterstützen.