Ich arbeite an einer Website, auf der ich ein Blog habe, aber ich habe auch einen benutzerdefinierten Beitragstyp, mit dem ich einige Videos einfügen kann.
Ich möchte die Paginierung verwenden, damit bei mehr als 9 angezeigten Videos eine Paginierung auftritt.
Der erste Teil davon funktioniert. Die Videos sind in der Tat auf 9 pro Seite begrenzt und die Paginierung wird unten korrekt angezeigt.
Wenn ich jedoch auf den Link für die zweite Seite klicke, werden die Videos der ersten Seite angezeigt, obwohl sich die URL ändert.
Bei meinen "normalen" Blog-Posts funktioniert die Paginierung genau wie beabsichtigt.
Dies ist der aktuelle Code, den ich für meinen benutzerdefinierten Beitragstyp verwende:
<?php if ( have_posts() ) : ?>
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts('post_type=videos&posts_per_page=9&paged=$paged'); ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
Jede Hilfe wäre sehr dankbar.
wp-query
pagination
Johnny
quelle
quelle
Antworten:
Warum Ihr aktueller Code fehlschlägt
Sie erhalten immer den Inhalt der ersten Seite, da die Folge von Parametern, die an einfache Anführungszeichen
query_posts
gekapselt werden, verhindert, dass Variablen (sowie Escape-Sequenzen für andere Sonderzeichen als ) erweitert werden.$
query_posts("post_type=videos&posts_per_page=9&paged=$paged");
würde sich um dieses Problem kümmern.query_posts('post_type=videos&posts_per_page=9&paged='.$paged);
würde auch.Und schließlich, vorbei an einer Reihe von gemischten Argumente anstelle einer URL-Abfrage-String würde auch.
That being said aber man sollte nicht query_posts überhaupt verwenden :
Wie es gemacht werden soll
Gemäß Ihrem Kommentar haben Sie versucht, zu verwenden
get_posts
.Das ist zwar eine sehr nützliche Funktion, aber nicht der richtige Weg, wenn Sie danach eine WordPress-Schleife verwenden möchten .
get_posts
Gibt ein Array von Post-Objekten zurück - die Eigenschaft desWP_Query
Objektsposts
. Aber nur diese eine Eigenschaft, ohne all die anderen Extras und Methoden, dieWP_Query
bietet.Um mit dem obigen Code-Snippet fortzufahren, gehen Sie wie folgt vor:
quelle