Paginarea cu tipuri de postări personalizate nu funcționează

3 iul. 2011, 05:40:16
Vizualizări: 24K
Voturi: 7

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.

2
Comentarii

În ce context încerci să faci asta să funcționeze? Șablon de pagină? Șablon de categorie? index.php? Acest lucru poate avea implicații importante pentru cod.

tollmanz tollmanz
3 iul. 2011 07:35:16

Este un șablon personalizat pentru categoria de postări. Încerc să afișez elemente din tipul meu personalizat de postare numit "articole" și aceasta este pagina principală pentru articole. Am definit o pagină, de asemenea numită articles.php, în care scriu codul. Orice ajutor ar fi foarte foarte foarte apreciat

markstewie markstewie
3 iul. 2011 12:14:19
Toate răspunsurile la întrebare 2
3
13

slug-ul paginii tale trebuie să fie diferit de numele tipului de postare personalizat

9 iun. 2016 15:38:08
Comentarii

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

bravokeyl bravokeyl
9 iun. 2016 15:39:06

Funcționează perfect, mulțumesc!

Rangel R. Morais Rangel R. Morais
2 mar. 2020 21:15:34

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

Robin Huy Robin Huy
26 oct. 2022 07:18:05
1

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.

3 iul. 2011 17:35:14
Comentarii

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/

Nora McDougall-Collins Nora McDougall-Collins
5 mai 2022 18:58:07