Wp PageNavi e Custom Post Type – Come Fare ?


Molto probabilmente molti di voi dopo l’avvento dei Custom Post Type si saranno trovati di fronte a questo problema con i temi di WordPress e con i loop dei nuovi tipi di post e la paginazione.

La soluzione è più semplice di quanto si creda.

L’errore tipico è quello di omettere il parametro ‘paged’, ma l’errore più subdolo è quello di utilizzare la variabile ‘$loop’ quindi vediamo qui di seguito questo piccolo errore che spesso può portarci a perdere la testa per cercare di comprenderlo.

<?php
  $paged = get_query_var('paged') ? get_query_var('paged') : 1;
  $loop = new WP_Query(array('post_type' => 'Post-Type_Name',
                                 'paged' => $paged,
                                 'post_per_page' => 10)
                           );
  while ($loop->have_posts()) : $loop->the_post();
?>

per far si che tutto funzioni basterà cambiare il nome alla variabile ‘$loop’ come segue:

<?php
  $paged = get_query_var('paged') ? get_query_var('paged') : 1;
  $wp_query = new WP_Query(array('post_type' => 'Post-Type_Name',
                                 'paged' => $paged,
                                 'post_per_page' => 10)
                           );
  while ($wp_query->have_posts()) : $wp_query->the_post();
?>

E il gioco è fatto.

Ovviamente ricordatevi di aggiungere anche la parte relativa alla navigazione ossia:

<?php
if(function_exists('wp_pagenavi')) {
  wp_pagenavi();
} else { ?>
<p class="pagination"><?php next_posts_link('&laquo; Precedenti') ?> 
<?php previous_posts_link('Successive &raquo;') ?></p>
<?php } ?>

Come diceva mio nonno…

non ci sono cose facili o difficili, ma solo cose che si sanno o non si sanno (#saggezza)

Sei membro del forum? Vuoi scrivere anche tu su PROGRAMMI Blog gt
Chiedilo a @giorgiotave