Est-il possible d'afficher tous les résultats de la recherche sur le search.php
? En réalité, il n'affiche que 10 résultats (comme défini dans WordPress settings > general
).
La façon rapide et sale de le faire serait d'utiliser à nouveau query_posts
, en doublant le nombre d'appels à la base de données.
<?php if (have_posts()) : ?>
<?php query_posts('showposts=999'); ?>
Il serait préférable d’ajouter ceci à functions.php
, en modifiant la requête initiale avant son exécution:
function change_wp_search_size($query) {
if ( $query->is_search ) // Make sure it is a search page
$query->query_vars['posts_per_page'] = 10; // Change 10 to the number of posts you would like to show
return $query; // Return our modified query variables
}
add_filter('pre_get_posts', 'change_wp_search_size'); // Hook our custom function onto the request filter
Si vous souhaitez afficher un nombre illimité de publications, utilisez -1
.
Assez facile: -1
remplace la limite. Il suffit de fusionner la requête par défaut avec vos arguments personnalisés.
global $wp_query;
query_posts(
wp_parse_args(
$wp_query->query
,array( 'posts_per_page' => -1 )
)
);
Essayez http://wordpress.org/extend/plugins/custom-post-limits/ / Vous pouvez définir des limites/numéros de publication indépendants pour tous types de résultats, c.-à-d. Recherche, catégorie, balise, archives, auteur, paginé, etc., sans avoir besoin de modèles de page ou de boucles personnalisées.