Paginierung wird nur auf die erste Seite aufgelöst


7

Meine Paginierung verlinkt nur auf dieselben Beiträge, die sich auf meiner Startseite befinden.

Ich habe 3 Beiträge auf meiner Startseite. Wenn ich auf "Weiter" drücke, wird "Seite / 2" angezeigt, es werden jedoch nur die gleichen 3 Beiträge ohne vorherige Schaltfläche angezeigt. Die nächste Schaltfläche ist noch vorhanden, geht aber immer noch zu Seite / 1

Hier ist die vollständige Abfrage.

<?php

            query_posts('post_type=post&posts_per_page=3');

            if ( have_posts() ) : while ( have_posts() ) : the_post();

            $category = choose_one_category(get_the_category());

            switch ($category){
                case "Festival News":
                    $left[] = $post;
                    break;
                case "Industry News":
                    $centre[] = $post;
                    break;
                case "Other":
                    $right[] = $post;
                    break;
            }


            endwhile; 
            ?>
            <div class="custom-pagination">

            <div ><?php previous_posts_link('&laquo; Previous') ?></div>

            <div ><?php next_posts_link('Next &raquo;') ?></div>
            </div>
            <?php endif;



            ?>

Antworten:


11

Aufbauend auf dem, was Rarst gesagt hat, bin ich mir ziemlich sicher, dass die Abfragezeichenfolge "ausgelagerte" Abfragen beibehält, auch wenn WP_Querysie als irrelevant entfernt wird. Sie können versuchen, Ihre Abfragepostzeile durch folgende zu ersetzen:

global $query_string;
parse_str( $query_string, $my_query_array );
$paged = ( isset( $my_query_array['paged'] ) && !empty( $my_query_array['paged'] ) ) ? $my_query_array['paged'] : 1;
query_posts('post_type=post&posts_per_page=3&paged='.$paged);

1
JA!! Gibt es eine Chance, dass Sie erklären können, was passiert? Damit ich und andere es verstehen können? Vielen Dank
Mild Fuzz

Kann ich dies beispielsweise mit benutzerdefinierten WP_Query-Objekten verwenden? Ich habe einige, die auch nicht funktionieren.
Mild Fuzz

1

Paginierungsfunktionen sollen mit der Hauptschleife verwendet werden. Sie stützen sich auf globale Variablen $pagedund $wp_querywerden nicht von Ihrer benutzerdefinierten Schleife festgelegt.


Wie kann ich das korrigieren?
Mild Fuzz

Wenn dies der Hauptinhalt / die Hauptschleife Ihrer Seite ist, müssen Sie damit arbeiten query_posts(). Andernfalls müssen Sie möglicherweise Ihre eigene Paginierung codieren. Zumindest weiß ich nicht, wie native Paginierungsfunktionen mit der Sekundärschleife funktionieren sollen.
Rarst

Ich habe die obige Schleife geändert. Ich bekomme einen nächsten Button, aber die Beiträge sind die von der Titelseite.
Mild Fuzz

Warum sollten sie nicht sein? Sie geben in der Abfrage nichts anderes als Posttyp und -menge an. Siehe auch
Beibehalten der

1

Wenn Sie auf dieses Problem stoßen , versuchen Sie Folgendes: " Easy Pagination Deamon ". Installieren, aktivieren, verwenden Sie das Vorlagen-Tag in Ihrer Vorlage ...

Der Link zum Stylesheet befindet sich in meinem Inhalt oder unter dem oberen Plugin-Kommentar.


0

Ist das auf deiner Homepage? Ich hatte auch dieses Problem und als Problemumgehung habe ich einfach den Link auf der ersten Seite auf http://www.yoursite.com/category/page/2/ verweisen lassen, sodass der erste Wertesatz für Seite eins übersprungen wird. Von da an funktionierten die Paginierungslinks korrekt. Hier ist ein Beispiel .


nur ein bisschen hacky
Mild Fuzz

vereinbart, aber in Bezug auf die Zeit kann es ein Lebensretter sein. Letzten Monat musste ich in 2 Wochen 14 WP-Sites erstellen und musste leider aus Zeitgründen auf Hacks zurückgreifen.
Moettinger
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.