web-dev-qa-db-fra.com

Wordpress 3.2 query_posts and pagination, problème de permaliens

Ma question n'est pas nouvelle mais elle ne fonctionne pas avec toutes les solutions trouvées dans mon cas.

J'essaie d'afficher les publications récentes sur une publication à l'aide de la boucle query_posts personnalisée. La structure de permaliens doit être celle-ci: /% category% /% postname% /

Version Wordpress: 3.2.1

La page a 2 boucles:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <!--first content part-->
<?php endwhile; endif;?>

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('posts_per_page=3&paged='.$paged);

if (have_posts()) : while (have_posts()) : the_post(); ?>
    <!--recent posts-->
<?php endwhile; endif; wp_reset_query();?>

Donc, appeler la page suivante comme http://www.domain.com/category/post-one/page/2/ supprime simplement/page/2/et ne fait rien d'autre.

Je suis déjà désespéré de chercher une solution qui marche et je ne suis pas sûr qu'il soit possible de le réparer.

Je vous remercie.

1
Alex

À partir du WP Codex pour WP_Query:

Afficher les messages de la page actuelle

Afficher les articles de la page en cours:

$ query = new WP_Query ('paged ='. get_query_var ('page'));

Remarque: Vous devez définir get_query_var ('page'); si vous voulez que votre requête fonctionne avec la pagination. Depuis Wordpress 3.0.2, vous obtenez get_query_var ('page') au lieu de get_query_var ('paged'). Le paramètre de pagination 'paginé' pour WP_Query () reste le même.

Changer la requête var de 'paginé' à 'page' donnera le code suivant:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <!--first content part-->
<?php endwhile; endif;?>

<?php
$paged = (get_query_var('page')) ? get_query_var('page') : 1;
query_posts('posts_per_page=3&paged='.$paged);

if (have_posts()) : while (have_posts()) : the_post(); ?>
    <!--recent posts-->
<?php endwhile; endif; wp_reset_query();?>
1
Steve Buzonas