WordPressをカスタマイズする場合、フロントページを固定ページにすることが多いと思います。
これまでフロントページでページングさせるようなコンテンツを作ることがなかったので、今回はその備忘録。
通常、固定ページでページングさせる場合は
get_posts(’posts_per_page=10&paged=’.$paged)
などを記述すれば良いのですが、フロントページを固定ページで使う場合には、2ページ目以降を表示できずに動作しませんでした。
これは、フロントページを固定ページにすると、paged の情報が無効になってしまうというWPの仕様のようです。バグなのかどうかはわかりませんが、functions.phpに以下を記述することで動作するようになりました。
[crayon] add_action( ‘parse_query’, ‘my_parse_query’ ); function my_parse_query( $query ) { if ( ! isset( $query->query_vars[‘paged’] ) && isset( $query->query_vars[‘page’] ) ) $query->query_vars[‘paged’] = $query->query_vars[‘page’]; }[/crayon]