wp_pagenavi() con custom wp_query()?

17 feb 2011, 06:21:37
Visualizzazioni: 50.7K
Voti: 6
<?php
/*
Template Name: Progetti
*/
?>

<?php get_header();?>

    <section id="content">
        <section id="main">

            <?php
                $loop = new WP_Query(array('post_type' => 'projects', 'posts_per_page' => 4));
                $i=1;
                while ( $loop->have_posts() ) : $loop->the_post();
            ?>

            <article class="post<?php if($i%2 == 0) { echo ' right'; }; $i++; ?>" id="post-<?php the_ID(); ?>">
                <h2><?php the_title(); ?></h2>
                <section class="entry">
                    <?php the_excerpt(); ?>
                </section>
            </article>

            <?php
                endwhile;
                wp_pagenavi();
            ?>

            <section id="map">
                <img src="<?php bloginfo('template_url') ?>/images/interactive-map.jpg" alt="Mappa Interattiva" title="Mappa Interattiva" />
            </section>
        </section>

<?php get_sidebar(); ?>

    </section>

<?php get_footer(); ?>

Ho configurato pagenavi subito dopo l'endwhile. Tuttavia non funziona. Qualcuno sa come posso farlo funzionare?

4
Commenti

vedi - http://wordpress.stackexchange.com/questions/4696/pagination-not-working-with-custom-loop (sostanzialmente devi intercettare la variabile globale $wp_query e usarla invece di $loop

onetrickpony onetrickpony
17 feb 2011 07:01:36

Ho seguito le indicazioni lì presenti e ora la navigazione viene visualizzata, ma quando vado alla pagina 2, ricevo un errore. Ecco il pastebin di ciò che ho. Se puoi dare un'occhiata e farmi sapere se noti qualcosa di sbagliato, te ne sarei eternamente grato. Grazie. http://pastebin.com/RMZaE6Pi

J82 J82
17 feb 2011 07:52:56

qual è l'errore che stai ottenendo?

Bainternet Bainternet
17 feb 2011 11:45:56

@One Trick Pony: Puoi spostare il tuo commento in una risposta, così che John possa accettarla? Magari includi il mio commento nella risposta referenziata, perché con la nuova versione di WP-Pagenavi puoi passare un argomento query. John ha fatto una domanda di followup per far funzionare l'impaginazione.

Jan Fabry Jan Fabry
17 feb 2011 16:29:28
Tutte le risposte alla domanda 2
10
19
wp_pagenavi( array( 'query' => $loop ) );

dovrebbe funzionare con il codice sopra. Non sovrascrivere la query principale se puoi evitarlo.

17 feb 2011 16:28:20
Commenti

La mia fonte per questo: http://plugins.trac.wordpress.org/browser/wp-pagenavi/trunk/core.php#L3

John P Bloch John P Bloch
17 feb 2011 16:29:13

Infatti, la versione di sviluppo di WP Pagenavi (2.74-alpha) supporta questa funzione.

scribu scribu
17 feb 2011 16:34:08

Oh, non avevo capito che questa fosse la versione di sviluppo. Ops!

John P Bloch John P Bloch
17 feb 2011 16:37:41

è possibile farlo con paginate_links() ?

onetrickpony onetrickpony
17 feb 2011 16:46:15

paginate_links è un po' più basilare. Invece di passargli un oggetto query, gli dici qual è il numero massimo di pagine, qual è la pagina corrente e alcuni altri parametri (come il formato dell'url, ecc.)

John P Bloch John P Bloch
17 feb 2011 16:56:16

@John P Bloch: L'ho appena rilasciato: http://scribu.net/wordpress/wp-pagenavi/wpn-2-74.html :)

scribu scribu
17 feb 2011 17:09:58

@scribu: l'ho testato con un custom post type e la paginazione non ottiene la pagina attiva se > 1, quando i permalink sono attivi. Forse è correlato a questo: http://wordpress.stackexchange.com/questions/9537/pretty-paged-permalinks-in-custom-post-type-loop

onetrickpony onetrickpony
17 feb 2011 17:57:10

Hai incluso 'paged'? Se sì, dovresti aprire una nuova domanda, allegando il codice di esempio. Inoltre, non incolpare pagenavi; si limita a generare link. :)

scribu scribu
17 feb 2011 18:01:59

sì. non ha senso aprire una nuova domanda dato che non uso più il plugin, volevo solo sottolineare che non supporta completamente i cpt. Dovresti aggiungere un altro argomento a wp_pagenavi(), come 'current' in cui puoi passare la pagina corrente es. get_permalink()

onetrickpony onetrickpony
17 feb 2011 19:22:19

@john: ho lo stesso problema usando l'offset in una query personalizzata per i post. per favore aiutami! $loop = new WP_Query(array("paged=".get_query_var('paged')."&offset=1"));

Gowri Gowri
3 giu 2011 10:27:24
Mostra i restanti 5 commenti
0
-1
<?php       // Paginazione
        if(function_exists('wp_pagenavi')) :
            wp_pagenavi( array( 'query' => $blog_posts_query ) );
        else : ?>
            <div class="navigation">
                <div class="alignleft"><?php previous_posts_link('Post Precedenti') ?></div>
                <div class="alignright"><?php next_posts_link('Post Successivi') ?></div>
            </div>
<?php       endif;

                // Ripristina i dati originali del Post
                wp_reset_postdata(); ?>
23 mar 2018 15:58:01