WordPress-Paginierung funktioniert nicht – Tun Sie DAS!

Welcher Film Zu Sehen?
 
  WordPress-Paginierung funktioniert nicht – Tun Sie DAS!

Die Paginierung in WordPress ist äußerst praktisch, um Besuchern bei der Navigation auf Ihrer Website zu helfen.





Bis dahin klicken sie auf einen Link, um auf eine 404-Fehlerseite zu gelangen.

Die 404-Seite enthält bestenfalls einen Link zur Startseite.



Im schlimmsten Fall hat es keine Navigationslinks und Sie verlieren dadurch den Website-Besucher.

Wenn Ihre Paginierungslinks in WordPress nicht mehr funktionieren, müssen Sie das Problem finden und beheben, um die Navigationsfunktion Ihrer Website wiederherzustellen.



WordPress-Paginierung funktioniert nicht

Das Zurücksetzen Ihrer Permalinks kann defekte Paginierungslinks reparieren. Wenn Sie einen Seitenersteller verwenden, muss die Paginierung im Plugin mit Ihren maximalen Beitragseinstellungen in den allgemeinen Leseeinstellungen übereinstimmen. Eine manuelle Lösung besteht darin, die PHP-Dateivorlage zu bearbeiten, um den Paginierungsstil direkt in Ihre Designvorlage einzufügen.



Verstehen der Codierung, die die Paginierung ermöglicht

Paginierung auf WordPress verwendet PHP-Codierung. Eine Skriptsprache, die leicht mit einem einzigen Satzzeichen an der falschen Stelle unterbrochen werden kann.

Eine fehlende geschweifte Klammer kann einen 404-Fehler auslösen.

Die gute Nachricht ist, dass die Codes zu allen Themen auf dem Kerncodierungssystem von WordPress basieren, sodass es ziemlich einfach ist, die Teile zu finden, die die Paginierung zum Laufen bringen.

Paginierungs-Tags werden in PHP geschrieben und in jede Seitenvorlage innerhalb Ihres Themes eingefügt, wo Paginierungs-Links erscheinen: Die index.php, archive.php, search.php, single.php, category.php und so weiter.

Überall dort, wo die Paginierungslinks auf Ihrer Website nicht funktionieren, ist dies die Vorlage, die Sie sich ansehen sollten, um den defekten Code zu finden.

Wenn Sie feststellen, dass Paginierungslinks auf Ihrer Website fehlerhaft sind, liegt dies wahrscheinlich an der index.php-Vorlage. Wenn es sich nur um Archivseiten handelt, bearbeiten Sie die Dateivorlage archive.php.

Tom Hanks, ich bin jetzt der Kapitän

Die Schleifen, die die Paginierung zum Laufen bringen

In jeder Ihrer Seitenvorlagendateien gibt es die berüchtigte WordPress-Loop-Funktion. Es beginnt mit „while“, gefolgt von „if“ und endet mit „endwhile“.

Die Standardcodierung in Vorlagendateien ist

<?php if (have_posts)() :
while (have_posts()) : the_post();
  get_template_part('content', get_post_format())'
  endwhile;

Endwhile schließt die Schleife und dort werden die Paginierungslinks eingefügt.

 echo paginate_links();
  else:
  echo '<p>No content found</p>

Wenn es nicht „echo paginate_links“ ist, wird es einer der anderen Paginierungscodes sein, wie z. B. previous_posts_link und newer_posts_link, die normalerweise diejenigen sind, die in der Vorlage für einzelne Posts verwendet werden, da diese den nächsten veröffentlichten neuen Post und den letzten veröffentlichten Post anzeigen.

Wichtig zu beachten ist, dass die „paginate_links“-Tags nur funktionieren, wenn es sich um Ihre Theme-Paginierung handelt.

Wenn Sie ein Plugin verwenden, ruft der Code das Vorlagen-Tag für Ihr Paginierungs-Plugin auf, z. B. „get_wp-pagenavi“ oder eine andere Paginierungs-Plugin-Vorlage.

Die einfacheren Korrekturen, die Sie ausprobieren sollten, bevor Sie Codierungsfehler untersuchen

Die einzige wirkliche Zeit, in der Sie wahrscheinlich Codierungsfehler haben, die Sie zum Bearbeiten von Themendateivorlagen benötigen, ist, wenn Sie benutzerdefinierte Beitragstypen einführen und verschiedene „Get“-Anforderungen ausführen, um Ihre eigenen benutzerdefinierten Paginierungsabfragen auszuführen. Diese neigen dazu, schnell schwer zu handhaben zu werden.

Wenn Sie eines der vielen verwenden WordPress Paginierungs-Plugins , Die Korrekturen sind viel einfacher und umfassen die Point-and-Click-Fehlerbehebung, anstatt einen Patch fest zu codieren.

Plugin-Entwickler kümmern sich um Fehlerbehebungen und führen ein Plugin-Update ein, um das Problem zu beheben.

Setzen Sie Ihre Permalinks zurück

Die Paginierung in WordPress ist dynamisch, d. h. sie basiert auf der URL-Struktur (Site-Adresse).

Wenn Sie eine benutzerdefinierte Permalink-Struktur wie %category%/%postname% verwenden, sucht die Paginierungsfunktion zuerst nach der Kategorie und dann nach dem Beitragsnamen.

Wenn das erste Vorkommen von „Kategorie“ in der URL wegfällt, bleibt die URL-Struktur yoursite.com/category-name/page-2 zurück (wobei die erste „Kategorie“ in der URL fehlt), was dazu führen würde eine Fehlermeldung 404 nicht gefunden.

Die URL sollte …

Yoursite.com/category/category-name/page-2. (oder was auch immer Ihre benutzerdefinierte Permalink-Struktur ist).

Um Ihre Permalinks zurückzusetzen, müssen Sie sie als etwas anderes als die aktuelle Einstellung speichern und dann wiederherstellen.

Gehen Sie zu „Einstellungen > Permalinks“, wechseln Sie zu etwas anderem wie „einfach“, klicken Sie auf „Änderungen speichern“, setzen Sie sie dann wieder auf Ihre benutzerdefinierte Permalink-Struktur zurück und speichern Sie die Änderungen erneut.

Das wiederholte Speichern erfolgt, um die Permalink-Struktur über alle Ihre Seitenvorlagen hinweg zurückzusetzen.

Überprüfen Sie, ob kein Plugin mit Ihren allgemeinen Leseeinstellungen in Konflikt steht

Wenn Sie ein Seitenerstellungs-Plug-in mit Paginierungsfunktion verwenden, muss es mit Ihren allgemeinen Leseeinstellungen übereinstimmen.

Beispielsweise können Sie mit dem Seitenersteller von Elementor ein Widget für aktuelle Beiträge zu einer Seite hinzufügen, um Ihre Blogroll anzuzeigen, und die Seiten paginieren lassen (allerdings nur in der Pro-Version).

Wenn sich die Einstellungen im Seitenersteller jedoch von Ihren allgemeinen Leseeinstellungen unterscheiden, kommt es zu einem Konflikt, der zu einem 404-Fehler führt.

Damit die Paginierung innerhalb von Seiten funktioniert, die mit einem Page Builder-Plug-in erstellt wurden, müssen die Paginierungseinstellungen in Ihrem Page Builder-Plug-in und Ihre allgemeinen Leseeinstellungen übereinstimmen.

Laien ausgedrückt, Seitenersteller, deren Paginierung so eingestellt ist, dass sie höchstens 6 Beiträge anzeigen, überschreiben nicht die allgemeinen Leseeinstellungen, die auf 10 eingestellt sind.

Sie müssten beide so ändern, dass höchstens sechs Beiträge angezeigt werden (oder wie viele Sie anzeigen möchten), um Konflikte zu vermeiden, die die Paginierung unterbrechen.

Plugin-Konflikte beheben

Wenn Sie zufällig feststellen, dass Ihre allgemeinen Leseeinstellungen mit einem anderen Plugin in Konflikt stehen, müssen Sie manchmal alle Ihre Plugins deaktivieren, den Cache leeren und dann Ihre allgemeinen Leseeinstellungen speichern, bevor Sie dieselben Einstellungen im Seitenersteller anpassen, um dieselben anzuzeigen Anzahl der Beiträge, die in Ihren allgemeinen Leseeinstellungen festgelegt sind.

Behebung defekter Paginierungslinks für benutzerdefinierte Beitragstypen

Benutzerdefinierte Beitragstypen stehen vor dem gleichen widersprüchlichen Problem. Sie können einen benutzerdefinierten Beitragstyp codieren, um eine Paginierung mit einer Begrenzung der Anzahl der anzuzeigenden Beiträge einzuschließen.

Wenn die allgemeinen Leseeinstellungen jedoch unterschiedlich sind, kann es zu einem Konflikt kommen.

Als Beispiel der folgende Code

<?php
 $paged = (get_query_var('paged')) ? get_query_var('paged') : 10;
    query_posts(array(
    'post_type' => 'yourcustomposttypename', // your yourcustomposttypename name
    'paged' => $paged,
    'orderby'=>'date',
    'posts_per_page' => 10 // set this to desired #
 ));
?>

… führt die „get query variable“ für Seitenumbrüche aus und begrenzt die Post-Ergebnisse auf höchstens 10. Wenn Sie die allgemeinen Leseeinstellungen auf 6 eingestellt haben, kann der Konflikt zu einer 404 nicht gefunden-Fehlermeldung führen.

Passen Sie Ihr „ausgelagertes“ Maximum an die maximale Anzahl von Beiträgen an, die Sie in den allgemeinen Leseeinstellungen festgelegt haben, speichern Sie die Änderungen, leeren Sie den Cache und aktualisieren Sie die Seite.

Das Beheben von widersprüchlicher Codierung sollte das Problem beheben.

Löschen Sie Ihren Cache, um Änderungen zu sehen

Wenn Sie Cache-Plug-ins ausführen oder ein CDN wie Cloudflare verbunden haben, müssen Sie die Caches leeren und Ihre Website-Cookies aus Ihrem Browser löschen, bevor die Änderungen wirksam werden.

Korrigieren defekter Paginierungslinks auf einer statischen Homepage

Auf einer statischen Homepage besteht der einzige Unterschied zu den für die Paginierung verwendeten Codes darin, dass „page“ im Singular verwendet wird und nicht „paged“.

Auf einer statischen Homepage muss die Paginierung die Variable „page“ anstelle von „paged“ verwenden, die nur für dynamische Seiten verwendet wird.