WordPressのページ送りが個人的に難所だったのでとっても助かった。
諦めないで…!WordPressでページ送りがうまく行かない時の3つの対処法+究極奥義
http://webimemo.com/wordpress/1813
表示設定を1件にする
下記の記述を試してみる
<?php if (have_posts()) : query_posts($query_string . '&posts_per_page=4&cat=3&paged='.$paged); ?>
これで解決したのだけど、
query_postsという記述方法は問題が多いので推奨されていないらしい。
下記がとてもわかり易かった。
query_postsを捨てよ、pre_get_postsを使おう
http://notnil-creative.com/blog/archives/1688
WordPressでページ送りが動かないのはどう考えてもquery_postsが悪い!【pre_get_posts、WordPressループまとめ】
http://notnil-creative.com/blog/archives/1996
基本文法
function 関数( $query ) {
if ( is_admin() || ! $query->is_main_query() )
return;
if ( クエリーの改変を適用する条件 ) {
$query->set( 'パラメーター', '値' );
return;
}
}
add_action( 'pre_get_posts', '関数名' );
例えばこんな記述をしてみたり
global $post;
$args = array( 'posts_per_page' => 5, 'cat' => 1 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) {
setup_postdata($post);
?>
<h1><?php the_title(); ?></h1>
<?php
}
wp_reset_postdata();