Ich bin auf das Paginierungsproblem /page/2
404 gestoßen und habe versucht, eine Lösung zu finden. Ich habe einige Vorschläge gelesen, aber es hat noch nicht geholfen.
Arbeiten: http://pandasnacozinha.com.br/bolos-doces-e-sobremesas/
Funktioniert nicht: http://pandasnacozinha.com.br/bolos-doces-e-sobremesas/page/2/
Ich habe stundenlang versucht, das herauszufinden. Ich verstehe, dass WordPress davon ausgeht, dass "page" ein Beitrag aus der Kategorie "bolos, doces e sobremesas" ist, da meine Permalink-Struktur /%category%/%postname%/
lautet, ich aber nicht weiß, wie ich das beheben soll.
Versuchte mehrere Stunden, bis ich in diesem Artikel eine funktionierende Lösung fand.
Fügen Sie in Ihrer functions.php
-Datei hinzu
/**
* Fix pagination on archive pages
* After adding a rewrite rule, go to Settings > Permalinks and click Save to flush the rules cache
*/
function my_pagination_rewrite() {
add_rewrite_rule('blog/page/?([0-9]{1,})/?$', 'index.php?category_name=blog&paged=$matches[1]', 'top');
}
add_action('init', 'my_pagination_rewrite');
Ersetzen Sie blog
durch Ihren Kategorienamen im obigen Code.
Stellen Sie nach dem Hinzufügen dieses Codes sicher, dass Sie zu Settings > Permalinks
wechseln und auf Save
klicken, um den Regelcache zu leeren. Andernfalls wird die Regel nicht angewendet.
Hoffe das hilft!
Ich hatte das gleiche Problem und bemerkte, dass ich im 'posts_per_page = 6'
und 'Settings/Reading
beim Lesen von Optionen in WordPress auf 10 gesetzt wurde. Als ich alles auf den gleichen Wert setzte (6 in meinem Fall), fing alles wieder an zu funktionieren.
Ich habe festgestellt, dass das Ändern der Permalink-Struktur für mich funktioniert.
Der Permalink war in der benutzerdefinierten Struktur wie folgt: /index.php/%year%/%monthnum%/%day%/%postname%/
Dann änderte ich es in: Tag und Name (wähle einfach das Optionsfeld aus) und es wird so aussehen: /%year%/%monthnum%/%day%/%postname%/
Ich habe es versucht und es funktioniert!
In meinem Fall mit benutzerdefinierten Links: /% category% /% postname%/Ich hatte ein Problem mit:/news/page/2 /
Und schließlich funktioniert das bei mir (füge zu functions.php hinzu):
function remove_page_from_query_string($query_string)
{
if ($query_string['name'] == 'page' && isset($query_string['page'])) {
unset($query_string['name']);
$query_string['paged'] = $query_string['page'];
}
return $query_string;
}
add_filter('request', 'remove_page_from_query_string');
meine Lösung ist in 3 Schritten:
1- das erste: Installation dieses Plugins: https://wordpress.org/plugins/category-pagination-fix/
2-dann: mach deinen Kabeljau mit dieser Struktur
<?php $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; ?>
<?php
$q=new wp_Query(
array(
"posts_per_page"=>10,
"post_type"=>"",
"meta_key"=>"",
"orderby"=>"meta_value_num",
"order"=>"asc",
"paged" => $paged,
)
);
while($q->have_posts())
{
$q->the_post();
?>
<li></li>
<?php
}
wp_reset_postdata();
?>
<div class="pagination">
<?php
global $q;
$big = 999999999; // need an unlikely integer
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $q->max_num_pages
) );
?>
</div>
3-gehen Sie in WordPress-Einstellung> Lesen> die meisten Beiträge pro Seite des Blogs, dann geben Sie die Nummer 1 ein