J'ai des difficultés à obtenir posts_nav_link () pour afficher quoi que ce soit. Ci-dessous se trouve mon fichier de modèle index.php. J'utilise des liens permanents (format index.php/2011/08/26/sample-post/
) et mon Blog pages show at most
est actuellement défini sur -1
.
Est-ce que quelqu'un sait pourquoi les liens ne fonctionnent pas?
index.php
<?php
get_header();
$args = array('posts_per_page' => 4,'paged' => get_query_var('page'));
$myquery = new WP_Query( $args );
?>
<?php while ( $myquery->have_posts() ) : $myquery->the_post(); ?>
<h1><?php the_title(); ?></h1>
<?php the_content()?>
<?php endwhile ?>
<?php posts_nav_link() ?>
<?php wp_reset_postdata(); ?>
<?php get_footer(); ?>
Vous devez faire un petit "bidouillage" pour que la pagination fonctionne avec votre boucle personnalisée.
Après avoir défini $myquery
, procédez comme suit:
<?php
// globalize $wp_query
global $wp_query;
// copy $wp_query into a temporary variable
$temp_wp_query = $wp_query;
// nullify $wp_query
$wp_query = null;
// move $myquery into $wp_query
$wp_query = $myquery;
?>
À ce stade, votre posts_nav_link()
devrait fonctionner comme prévu.
Maintenant, après la boucle, remplacez l'objet d'origine par $wp_query
, de sorte que tout le reste de la page qui dépend de la requête fonctionne correctement:
<?php
// restore original $wp_query
$wp_query = $temp_wp_query;
?>