閲覧設定では、すべてのコンテキストで表示される投稿数に影響する表示される投稿数を設定するための場所があります。代わりにホームページに一定の数の投稿を表示し、アーカイブ、検索結果などのページには異なる数の投稿を表示します。
テーマファイルを編集し、そこでクエリパラメータを変更することでこれを実現できることはわかっていますが、簡単な設定ページに簡単にアクセスできるようにしたいと思います。昔、私はこれをしたプラグインに出会いました、しかし私は今それを見つけることができません。
誰もがこれを行うためのプラグイン、あるいは同じことを達成するためにfunctions.phpに入れることができる関数さえ知っていますか?
プラグインでこれを行うための最善の方法は、pre_get_posts
アクションフックが見つかったときに次のサンプル関数を実行することです。 $wp_query
オブジェクトが利用可能です。つまり、コンディショナルタグは利用可能ですが、WordPressがポストを取得する前に、つまり、query_posts()が2番目のクエリを追加するのではなく、最初のクエリの実行前にクエリ変数を変更します。テーマファイル.
function custom_posts_per_page($query) {
if (is_home()) {
$query->set('posts_per_page', 8);
}
if (is_search()) {
$query->set('posts_per_page', -1);
}
if (is_archive()) {
$query->set('posts_per_page', 25);
} //endif
} //function
//this adds the function above to the 'pre_get_posts' action
add_action('pre_get_posts', 'custom_posts_per_page');
query_postsを使用してカスタムループを作成し、is_home、is_archiveなどで投稿数を指定できます。
query_postsと一緒の単純なif文