すべての検索結果をsearch.php
に表示する方法はありますか?実際には10個の結果しか表示されていません(WordPress settings > general
で設定)。
すばやく手間のかかる方法は、query_posts
をもう一度使用してデータベース呼び出しの数を2倍にすることです。
<?php if (have_posts()) : ?>
<?php query_posts('showposts=999'); ?>
実行前に元のクエリを変更して、これをfunctions.php
に追加することをお勧めします。
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
無制限の投稿数を表示したい場合は、-1
を使用してください。
非常に簡単:-1
は制限を上書きします。デフォルトのクエリをあなたのカスタム引数とマージするだけです。
global $wp_query;
query_posts(
wp_parse_args(
$wp_query->query
,array( 'posts_per_page' => -1 )
)
);
試してみてください http://wordpress.org/extend/plugins/custom-post-limits/ 検索、カテゴリ、タグ、アーカイブ、作成者、ページングなど、あらゆる種類の結果に対して独自の投稿制限/番号を設定できます。ページテンプレートやカスタムループを必要とせずに。