Mostrar todos los resultados de búsqueda
¿Hay alguna manera de mostrar todos los resultados de búsqueda en el archivo search.php
?
Actualmente solo está mostrando 10 resultados (según lo establecido en WordPress settings > general
).

La forma rápida y sucia de hacerlo sería usar query_posts
nuevamente, duplicando el número de llamadas a la base de datos.
<?php if (have_posts()) : ?>
<?php query_posts('showposts=999'); ?>
Una mejor opción sería agregar esto a functions.php
, modificando la consulta original antes de que se ejecute:
function change_wp_search_size($query) {
if ( $query->is_search ) // Asegurarse de que es una página de búsqueda
$query->query_vars['posts_per_page'] = 10; // Cambiar 10 por el número de posts que deseas mostrar
return $query; // Retornar nuestras variables de consulta modificadas
}
add_filter('pre_get_posts', 'change_wp_search_size'); // Conectar nuestra función personalizada al filtro de solicitud
Si deseas mostrar una cantidad ilimitada de posts, usa -1
.

showposts
está obsoleto, usa posts_per_page
. En cualquier caso, el primer ejemplo no funcionará - ignorará el término de búsqueda y solo mostrará los últimos 999 posts. Necesitarías combinarlo con la consulta actual (ver Codex). La segunda respuesta es con diferencia la mejor, y como señala @WouterB, evita volver a consultar la base de datos.

Gracias @Stephen Harris, copié y pegué el primer ejemplo de un blog muy antiguo, y luego me di cuenta de que en un sitio más nuevo usé la segunda opción. No revisé los detalles.

¡Gracias Wouter, funciona! También uso este código para mostrar el número de resultados global $wp_query;
$total_results = $wp_query->found_posts;
echo $total_results;
y ahora siempre muestra 0.

Por favor no sugieras query_posts()
incluso como una solución "rápida y sucia".

Prueba http://wordpress.org/extend/plugins/custom-post-limits/. Puedes establecer límites/números de publicaciones independientes para todo tipo de resultados, como búsquedas, categorías, etiquetas, archivos, autores, páginas paginadas, etc., sin necesidad de plantillas de página o bucles personalizados.
