Springe zum Hauptinhalt

Wie Sie sich richtig WP_Query auf Wordpress

Divi: das am einfachsten zu verwendende WordPress-Theme

Divi: Das beste WordPress-Theme aller Zeiten!

Mehr 701.000 Downloads, Divi ist das beliebteste WordPress-Theme der Welt. Es ist vollständig, einfach zu bedienen und enthält mehr als 62-freie Vorlagen. [Empfohlen]

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 Ihrer Situation und Ihrem WordPress-Thema an.

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 Ihr neues 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 "Twenty Sixteen". Bewegen Sie es nicht, sondern machen Sie eine Kopie. Benenne 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' => '',

Erstellen Sie ganz einfach Ihre Website mit Elementor

Mit Elementor können Sie auf einfache Weise jedes Website-Design mit einem professionellen Look erstellen. Zahlen Sie nicht mehr teuer für das, was Sie selbst tun können. [Kostenlos]

 '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:

Suchst du nach den besten WordPress Themes und Plugins?

Laden Sie die besten Plugins und WordPress-Themes auf Envato herunter und erstellen Sie ganz einfach Ihre Website. Schon mehr als 49.720.000 Downloads. [EXCLUSIVE]

 

  • 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.

Lerne auch Wie man ein Multi-Autoren-Blog erstellen und lassen Sie Ihre Leser Artikel auf Ihrem Blog veröffentlichen

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.

Erstellen Sie einfach Ihren Online-Shop

Laden Sie kostenlos WooCommerce herunter, die besten E-Commerce-Plugins, um Ihre physischen und digitalen Produkte auf WordPress zu verkaufen. [Empfohlen]

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 WordPress-Plugins verwenden, um ein modernes Erscheinungsbild zu erhalten und den Grip 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.

Mit dem WordPress Social Wall-Plugin können Ihre Benutzer: Nachrichten miteinander teilen, Bilder teilen, Beiträge anderer Personen kommentieren, Benutzer können eine Nachricht mögen oder nicht mögen, sie können die Wand nur für sie anzeigen. Angemeldete Benutzer oder für alle Benutzer können Administratoren Benutzerbeiträge oder Kommentare usw. löschen.

Download | Demo | Web-Hosting

2. Flipkart-Partner Plus

Flipkart Affiliate Plus ist ein modulares WordPress-Plugin, das Ihre WordPress-Website mit der Flipkart-Affiliate-API verbindet. 

Dieses WordPress-Plugin erleichtert das Importieren von Produktdaten aus Flipkart und deren Aktualisierung direkt auf Ihrer Website erheblich. Flipkart Affiliate Plus ist das erste WordPress-Plugin für die offizielle Flipkart-API. Wenn Sie es verwenden, müssen Sie keine Drittanbieter-API verwenden. Sie profitieren somit voll von Ihrer Arbeit.

Download | 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.

Download | 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.

 

 

Fazit

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.

... 

 

Dieser Artikel enthält Kommentare 7

  1. ___________ ________ _____ ____________
    | Artikel 1 | | arti 2 | | _A3_ | | |
    | __________ | | _______ | _____ | Artikel 6 |
    ______________________ | 5 | | |
    | _________ 4 _________ | | ____ | | ___________ |

  2. 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,

    1. 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!

      1. 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

        1. 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.

  3. […] In diesem Tutorial werde ich Ihnen zeigen, wie Sie WP_Query-Abfragen unter WordPress effizienter nutzen können. […]

Hinterlassen Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Diese Website verwendet Akismet, um unerwünschte Inhalte zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verwendet werden.

Zurück nach oben
0 Aktien
Aktie
tweet
Registrieren