J'essaie d'interroger tous les messages d'un auteur et de les paginer sur la page author.php. J'ai essayé de déconner avec les paramètres de page par défaut des blogs WP et cela n'aide pas. J'ai jeté un coup d'œil à d'autres articles et j'ai pu trouver une solution. Cela fonctionne sur mes pages de catégorie et les pages de modèle personnalisées (à l'exception de l'attribut author).
Voici ce que j'ai pour ma requête:
if (get_the_author_meta( 'ID' )) {
$authorID = get_the_author_meta( 'ID' );
}
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'post',
'author'=>$authorID,
'orderby'=> 'date',
'showposts'=>'5',
'paged'=>$paged
);
$query = new WP_Query( $args );
J'ai même essayé query_posts () sans succès.
La requête elle-même fonctionne, mais la pagination est rompue. Des idées?
Il y a déjà une requête sur cette page. author.php
est un fichier de modèle facultatif que WordPress, s'il est présent, utilisera pour les archives de l'auteur. Vous ne devriez pas avoir à créer une autre requête sur cette page. Je pense que votre requête et la requête native sont en conflit, du moins en partie parce que les deux requêtes utiliseront la même variable paged
.
Si vous devez modifier quelque chose à propos de la requête, vous devriez probablement interrompre la requête principale pour cette page au lieu de créer une nouvelle requête.
function alter_author_wpse_84696() {
if (!is_author()) return false;
global $wp_query;
$wp_query->set('posts_per_page', 10);
$wp_query->set('order', 'ASC');
}
add_action('pre_get_posts','alter_author_wpse_84696');