WordPress-Schleife: Was es ist und was Sie darüber wissen müssen

Veröffentlicht: 2023-10-25

Wenn Sie ein WordPress-Theme-Entwickler, ein Programmierer oder einfach nur ein Enthusiast sind, der lernen möchte, was eine WordPress-Schleife ist, ist dieser Artikel genau das Richtige für Sie! Beginnen wir ohne weitere Umschweife mit den Grundlagen: Was ist eine Schleife?

Die WordPress-Schleife ist ein PHP-Code, der WordPress-Beiträge anzeigt oder einfach ausgedrückt; Es wird in verschiedenen Themen verwendet, um Beiträge auf einer bestimmten Webseite anzuzeigen. Es läuft nicht nur auf den meisten Seiten, die Sie sehen, sondern ermöglicht Ihnen auch, es nach Ihren Wünschen zu ändern und anzupassen.

Diese Website-Schleifen können verwendet werden, um Beiträge möglicherweise nach Kommentaranzahl aufzulisten, Beiträge mit Bildern anzuzeigen usw.

Wenn Sie sich die Schleife ansehen, können Sie sehen, dass einige Funktionen standardmäßig ausgeführt werden, um Beiträge anzuzeigen. Theme-Entwickler können diese Funktionen und Vorlagen-Tags verwenden, um anzupassen, wie jeder Beitrag in der Schleife angezeigt wird.

Diese Vorlagen-Tags funktionieren nur innerhalb der WordPress-Standardschleife und werden zum Formatieren, Anordnen und Veröffentlichen von Beitragsdaten verwendet.

Der WordPress-Loop ist ohne Zweifel der wichtigste Teil des WordPress-Codes. Lassen Sie uns tief in die Funktionsweise Ihrer Website eintauchen.

WordPress-Seitenschleife für Anfänger

Wie bereits erwähnt, handelt es sich bei der Post-Schleife um einen Code, der alle Informationen ausgibt, die WordPress über einen oder mehrere Posts hat. Es läuft im Hintergrund durch jeden Beitrag und findet einen nach dem anderen in der Datenbank, sodass Informationen zu allen gefundenen Beiträgen bereitgestellt werden können.

Hier ist ein Beispiel dafür, wie die WordPress-Schleife durch Beiträge funktioniert:

  1. Du startest die Schleife,
  2. mit jedem gefundenen Beitrag oder jeder gefundenen Seite Maßnahmen ergreifen,
  3. schließen Sie die Schleife.

Diese drei Schritte stellen die grundlegende Logik hinter der Schleife dar. Ab diesem Zeitpunkt können Sie kreativ werden und die gefundenen Beiträge mithilfe der Abfrage filtern. Die Abfrage teilt der Schleife mit, wonach wir suchen. In unserem Beispiel würde es so aussehen:

  1. definieren, wonach wir suchen,
  2. Starten Sie die Schleife,
  3. mit jedem gefundenen Beitrag oder jeder gefundenen Seite Maßnahmen ergreifen,
  4. schließen Sie die Schleife.

Wenn Sie Erfahrung mit PHP-Code haben, kennen Sie möglicherweise die „while“-Funktion, die in Schleifen verwendet wird, um die Datenbankabfrage zu durchlaufen und die Informationen dynamisch anzuzeigen, ohne jede einzelne Datenbankzeile manuell eingeben zu müssen.

Die While-Schleife von WordPress funktioniert auf die gleiche Weise.

Beispiel einer Standard-WordPress-Schleife

Unten finden Sie ein Beispiel für eine Standard-WordPress-Schleife, die auf jeder Seite verwendet werden kann.

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
// Post display here
<?php endwhile ?>
<?php else : ?>
// Content if there are no posts to show
<?php endif ?>

Schauen Sie sich die Funktionen have_posts() und the_post() an. Der erste bestimmt, ob Beiträge angezeigt werden sollen, und der zweite richtet Daten und interne Punkte ein, die der Funktion have_posts() helfen.

Wenn nichts angezeigt wird, sollte die Funktion eine Meldung anzeigen, die die Benutzer informiert.

Wenn es die gesuchten Beiträge gibt, werden sie in der Schleife einzeln angezeigt.

Hier haben Sie einen Codeblock, der tatsächlich Beiträge anzeigt. Er liegt bei uns!

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
<div <?php post_class() ?>>
<h2><a href='<?php the_permalink() ?>'><?php the_title() ?></a></h2>
<div class='post-excerpt'>
<?php the_excerpt() ?>
</div>
<div class='post-meta'>
<time><?php the_time( 'Ymd' ) ?></time>
<?php if ( has_category() ) : ?>
<span class='post-categories'><?php the_category( ', ' ) ?></span>
<?php endif ?>
</div>
</div>
<?php endwhile ?>
<?php else : ?>
<h2>There are no posts here</h2>
<p>Do you want to go back to the <a href='<?php echo site_url() ?>'>home page?
<?php endif ?>

Der hier angezeigte Inhalt wird durch die Abfrage bestimmt, über die wir bereits gesprochen haben, und wie dieser Inhalt angezeigt wird, hängt von der Schleife ab. Diese Menge an Anpassungsmöglichkeiten ist großartig und macht WordPress zu etwas Besonderem.

Gut gemacht! Jetzt wissen Sie, was eine Post-Schleife ist!

Verwenden von Code zum Ändern der Hauptabfrage

Bevor wir beginnen, müssen wir Sie warnen, dass eine Änderung der Hauptabfrage unbeabsichtigte Folgen haben kann, wenn Sie nicht wissen, was Sie tun. Seien Sie beim Experimentieren vorsichtig!

Wir müssen uns die Haken ansehen, wenn wir die Kernfunktionalität ändern wollen. Mit den Hooks können wir die Textlänge ändern, den Anmeldebildschirm ändern, Fehlermeldungen umformulieren, benutzerdefinierte Beitragstypen ändern und vieles mehr.

add_action( 'pre_get_posts', 'my_exclude_category' );
function my_exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-92' );
}
}

Beachten Sie, dass wir den pre_get_post- Hook verwenden, um den Parameter der Hauptabfrage vor der Ausführung zu ändern. Der obige Code macht dasselbe wie der vorherige, schließt dieses Mal jedoch die Kategorie 92 von unserer Homepage aus. Daher wird die Hauptabfrage geändert

Schauen Sie sich die Funktionen is_home() und is_main_query() an. Sie sollen sicherstellen, dass die Abfrage nur auf der Startseite geändert wird und wenn es sich um die Hauptabfrage handelt.

Hier ist ein weiterer Code, der in einer WordPress-Blog-Schleife nützlich sein kann.

Nehmen wir an, ein Autor Ihrer Website hat einige (oder alle) seiner Inhalte plagiiert und Sie möchten alle seine Beiträge dauerhaft oder bis zur Lösung des Problems entfernen.

Dies kann durch Hinzufügen eines Codes wie dem folgenden erreicht werden:

add_action( 'pre_get_posts', 'my_exclude_author' );
function my_exclude_author( $query ) {
$query->set( 'author', '-23' );
}

Mit dieser bedingten Funktion entfernen Sie den Beitrag des Autors sowohl von Ihrer Website als auch von Ihrem Backend. Sie finden alle bedingten Tags im WordPress-Codex. So sollte der letzte Code am Ende aussehen:

add_action( 'pre_get_posts', 'my_exclude_author' );
function my_exclude_author( $query ) {
if( !is_admin() ) {
$query->set( 'author', '-23' );
}
}

FAQ zur WordPress-Schleife

Was ist überhaupt die WordPress-Schleife?

Oh Mann, das bringt mich zurück! Im Kern ist die WordPress-Schleife also die Engine von WP, die Inhalte aus der Datenbank auf Ihrer Website anzeigt.

Es ist das Herzstück vieler WP-Vorlagen und teilt dem System mit, welche Beiträge oder Seiten in welcher Reihenfolge angezeigt werden sollen. Betrachten Sie es als den DJ Ihrer WordPress-Party, der die richtigen Melodien (oder Beiträge) für Ihre Gäste auswählt.

Warum ist die Schleife bei der Theme-Entwicklung so wichtig?

Ah, Themenentwicklung , jedes Mal ein lustiges Rätsel! Die Schleife ist wie das Rückgrat eines WordPress-Themes. Ohne sie wäre Ihr Thema ein Stummfilm ohne Handlung.

Es ruft den Inhalt basierend auf WP_Query- Parametern ab und über Vorlagen-Tags können Sie anpassen, was und wie der Inhalt angezeigt wird. Haben Sie schon einmal von Themes mit speziellen Stilen für bestimmte Beiträge gehört? Ja, das ist die Magie des Loops.

In welcher Beziehung steht die WP_Query zur Schleife?

Okay, tauchen Sie hier mit mir ein. WP_Query ist die Klasse, die den Inhalt definiert und abruft. Die Schleife durchläuft dann die Ergebnisse, die WP_Query zurückgibt.

Stellen Sie sich WP_Query als den Koch vor, der die Gerichte zubereitet, während der Loop sie Ihren Gästen serviert. Und mit benutzerdefinierten Beitragstypen und Taxonomien kann dieser Koch eine beeindruckende Auswahl an Gerichten zaubern!

Was ist der Unterschied zwischen have_posts() und the_post()?

Klassische Frage! have_posts() prüft, ob in der Abfrage noch Beiträge zum Durchlaufen vorhanden sind. Es ist, als würde man fragen: „Hey, gibt es noch mehr Songs auf dieser Playlist?“

In der Zwischenzeit richtet the_post() den aktuellen Beitrag ein, sodass Sie dessen Details anzeigen können. Es ist so, als würde man beim nächsten Titel auf „Play“ drücken. Beide sind im Tanz des Loops von entscheidender Bedeutung.

Wie kann ich anpassen, welche Beiträge in der Schleife angezeigt werden?

Ah, die Macht der Individualisierung! Um zu ändern, welche Beiträge angezeigt werden, optimieren Sie die WP_Query- Parameter oder verwenden den Filter pre_get_posts .

Ob es sich um eine Kategorieschleife , Tagschleife oder eine andere benutzerdefinierte Abfrage handelt, Sie können so viel tun. Möchten Sie Beiträge aus einer bestimmten Kategorie anzeigen? Oder vielleicht nach einem benutzerdefinierten Feld sortieren? Die Welt liegt dir zu Füßen!

Kann ich mehrere Schleifen auf einer Seite haben?

Darauf kannst du wetten! Mehrere Schleifen sind eine Sache, insbesondere wenn Sie verschiedene Abschnitte wünschen, z. B. eine Hauptartikelliste, gefolgt von einer Seitenleiste mit aktuellen Beiträgen.

Sie müssen die Schleife lediglich nach jeder benutzerdefinierten WP_Query mit wp_reset_postdata() zurücksetzen. Und mit Vorlagenteilen ist es noch besser organisiert. Denken Sie daran, es nicht zu übertreiben – niemand mag eine überfüllte Party!

Was sind bedingte Tags im Kontext der Schleife?

Bedingte Tags sind also die Wächter der Schleife. Mit ihnen können Sie steuern, wo und wann bestimmte Inhalte angezeigt werden.

Sie können sie verwenden, um einen Inhalt nur in einzelnen Beiträgen oder möglicherweise nur in einer bestimmten Taxonomie anzuzeigen. Sie sind wie die Türsteher Ihres WP-Clubs und entscheiden anhand der Gästeliste, wer reinkommt.

Wie füge ich der Schleife eine Paginierung hinzu?

Ah, Paginierung, die Kunst, Ihre Besucher nicht zu überfordern! Durch die Verwendung von Paginierungsfunktionen können Sie Ihre Beiträge in mehrere Seiten aufteilen.

Anstatt eine endlose Liste von Beiträgen anzuzeigen, gönnen Sie Ihren Benutzern eine Verschnaufpause. Hier helfen Funktionen wie paginate_links() oder die klassischen „next and previous“-Links. Denn seien wir ehrlich: Niemand möchte ewig scrollen.

Warum sollte ich jemals die Hauptabfrage ändern müssen?

Gut! Manchmal reichen die Standardeinstellungen einfach nicht aus. Vielleicht möchten Sie, dass auf Ihrer Homepage nur ein bestimmter benutzerdefinierter Beitragstyp angezeigt wird oder bestimmte Kategorien ausgeschlossen werden.

Mithilfe der Aktion pre_get_posts können Sie die Hauptabfrage optimieren, ohne eine neue zu schreiben. Es ist, als würden Sie die Haupteinstellungen Ihrer Stereoanlage anpassen, um den perfekten Klang zu erzielen.

Was passiert, wenn es ein Problem mit meiner Schleife gibt?

Uff, war da! Wenn es bei der Schleife zu Problemen kommt, zeigt Ihre Website möglicherweise keinen Inhalt an oder, noch schlimmer, es werden Fehler ausgegeben. Machen Sie immer ein Backup, bevor Sie etwas basteln. Überprüfen Sie Ihre WP_Query- Parameter und Vorlagenhierarchie .

Und wenn alles andere fehlschlägt, sind der WordPress-Codex und die Community-Foren Goldgruben für die Fehlerbehebung. Denken Sie daran, dass jeder Entwickler mindestens einmal mit einer Glitch-Schleife konfrontiert ist. Du schaffst das!

Abschließende Gedanken zur WordPress-Schleife

Die Verwendung von WordPress Loop ist eine großartige Möglichkeit, Ihre Beiträge, Seiten oder einfach gesagt Ihre Website anzupassen. Die Schleife erfordert ein grundlegendes Verständnis der Funktionsweise und Codelogik von WordPress.

Sofern Sie keinen schnellen Test durchführen möchten, würden wir die Verwendung der Funktion query_posts() nicht empfehlen. Sie können verschiedene Hooks verwenden, falls Sie die ursprüngliche Abfrage ändern müssen. Seien Sie immer vorsichtig, wenn Sie den WordPress-Loop-Code ändern.

Wir hoffen, dass dieser Artikel ein guter erster Schritt auf dem Weg zu Ihrer WordPress-Loop-Beherrschung war!

Wenn Ihnen dieser Artikel über die WordPress-Schleife gefallen hat, sollten Sie auch Folgendes lesen:

  • 504-Fehler in WordPress: So beheben Sie ihn
  • 12 Tipps zum Erstellen eines erfolgreichen WordPress Premium-Plugins oder -Themes
  • Wie nutzt man Browser-Caching in WordPress? Schritte zum folgen