Paginarea cu tipuri de postări personalizate nu funcționează
Din anumite motive nu reușesc să fac să funcționeze paginarea folosind previous_posts_link și next_posts_link.
Iată codul pe care îl am...
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?php // Interogarea
$the_query = new WP_Query(
array(
'post_type'=>'article',
'posts_per_page'=>2,
'orderby'=>'date',
'paged'=>$paged
)
);
// Bucla
while ( $the_query->have_posts() ) : $the_query->the_post();
if($the_query->current_post == 0 && $paged == 1) :
?>
<article class="latest">
<div class="summary">
<h4>ULTIMUL ARTICOL:</h4>
<h2><?=the_title(); ?></h2>
<div class="entry-meta">
<?php proagent_posted_on(); ?>
</div><!-- .entry-meta -->
<div class="entry-content">
<?=get_the_content_limit(300, 'Mai mult'); ?>
</div><!-- .entry-content -->
<div class="entry-topics"><?=get_the_term_list($post->ID , 'topics', 'Subiecte: ',', '); ?></div>
</div>
<?=the_post_thumbnail('feature-post-thumbnail'); ?>
</article>
<?php else: ?>
<article class="previous">
<?=the_post_thumbnail(); ?>
<div class="summary">
<h2><?=the_title(); ?></h2>
<div class="entry-meta">
<?php proagent_posted_on(); ?>
</div><!-- .entry-meta -->
<div class="entry-content">
<?=get_the_content_limit(300, 'Mai mult'); ?>
</div><!-- .entry-content -->
<div class="entry-topics"><?=get_the_term_list($post->ID , 'topics', 'Subiecte: ',', '); ?></div>
</div>
</article>
<?php endif; ?>
<?php endwhile; ?>
<nav id="nav-below" class="navigation">
<div class="alignleft"><?php previous_posts_link('« Articole mai noi') ?></div>
<div class="alignright"><?php next_posts_link('Articole mai vechi »') ?></div>
</nav><!-- #nav-below -->
De asemenea... tocmai am observat că funcționează când accesez /articles/page/2 există un link către /articles/ așa cum ar trebui să fie, dar din pagina /articles/ nu există niciun link către pagina 2... DE CE?
Vă rog să mă ajutați dacă puteți... acest lucru mă înnebunește.
Mulțumesc! Mark.

Te rog postează-l ca un comentariu sau explică puțin cum funcționează.

page-slug poate fi același cu numele tipului de post personalizat: https://wordpress.stackexchange.com/questions/135146/resolve-a-custom-post-type-name-vs-page-permalink-conflict-same-slug

Paginarea funcționează doar dacă atributul paged
din variabila globală $wp_query
este setat. Puteți stoca manual interogarea dumneavoastră în această variabilă globală sau puteți folosi query_posts()
în loc de new WP_Query()
.
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$the_query = query_posts(
array(
'post_type'=>'article',
'posts_per_page'=>2,
'orderby'=>'date',
'paged'=>$paged
)
);
// ...
?>
Funcția query_posts()
va anula o variabilă globală $wp_query
existentă, va rula o nouă interogare WP_Query()
și va stoca din nou rezultatul în variabila globală $wp_query
.

Acesta este un articol vechi. Pentru cei care citesc acest răspuns, rețineți că există informații noi pe WordPress.org. https://developer.wordpress.org/reference/functions/query_posts/
