Wordpress > カテゴリ・アーカイブページのページングで2ページ目以降が404

「Wordpress/カテゴリ・アーカイブページのページングで2ページ目以降が404」の編集履歴(バックアップ)一覧はこちら

Wordpress/カテゴリ・アーカイブページのページングで2ページ目以降が404 - (2012/10/17 (水) 16:26:06) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

WordPress 3.4.1 不具合の内容 -特定カテゴリ内の記事一覧(category.php)の2ページ目以降で404が出る -404が出つつも、2ページ目の内容が表示される -カテゴリが認識されずに全カテゴリの投稿が表示される その際の不具合の出るソースは以下。ページングリンクの記述( my_paging_nav )は長いのでfunction.phpに書いてる。 #codehighlight(php){{ $paged = get_query_var('paged'); query_posts('posts_per_page=2&paged='.$paged); if ( have_posts() ) : my_paging_nav(); while ( have_posts() ) : the_post(); the_excerpt (); endwhile; my_paging_nav(); endif; }} Post Type Category Pagination FixプラグインやTop Level Categories Fixプラグインなど、試してみたが解決せず。 query_posts() を使うと query が破壊されるという話を読み、WP_Query() を使ってみるも、ダメ。 光明が見えたのは、[[WORDPRESS、アーカイブのページングで2ページ目以降が404 | FLEYBLOG>http://blog.fley.co.jp/works/1.html]]という記事。 >管理画面の設定→表示設定の表示する最大投稿数を1、又は-1にする その通りやってみると、確かに404は出なくなった。 しかし、相変わらず、カテゴリが認識されていない。そこで、デフォルトテーマ twentyeleven の category.php を覗いてみる。 はて?1ページごとの投稿数や今何ページ目かといった指定をする記述がない。私のソースでいうここ #codehighlight(php){{ $paged = get_query_var('paged'); query_posts('posts_per_page=2&paged='.$paged); }} そこでひらめいた。本来1ページに何件表示するかは、「管理画面の設定」→「表示設定」の「表示する最大投稿数」で指定しておけば良いのだわ。 正解 #codehighlight(php){{ if ( have_posts() ) : my_paging_nav(); while ( have_posts() ) : the_post(); the_excerpt (); endwhile; my_paging_nav(); endif; }} これだけで良かった。ページングのURLに飛びさえすれば、ページングの処理自体は、wordpress が勝手にやってくれてた。the_post() 内でやってるんだろう。 ちなみに、これでもいけた。でも冗長だよね。 #codehighlight(php){{ $paged = get_query_var('paged'); $category_name = get_query_var('category_name'); query_posts('posts_per_page=2&paged='.$paged.'&category_name='.$category_name); if ( have_posts() ) : my_paging_nav(); while ( have_posts() ) : the_post(); the_excerpt (); endwhile; my_paging_nav(); endif; }}    
WordPress 3.4.1 不具合の内容 -特定カテゴリ内の記事一覧(category.php)の2ページ目以降で404が出る -404が出つつも、2ページ目の内容が表示される -カテゴリが認識されずに全カテゴリの投稿が表示される その際の不具合の出るソースは以下。ページングリンクの記述( my_paging_nav )は長いのでfunctions.phpに書いてる。 #codehighlight(php){{ $paged = get_query_var('paged'); query_posts('posts_per_page=2&paged='.$paged); if ( have_posts() ) : my_paging_nav(); while ( have_posts() ) : the_post(); the_excerpt (); endwhile; my_paging_nav(); endif; }} Post Type Category Pagination FixプラグインやTop Level Categories Fixプラグインなど、試してみたが解決せず。 query_posts() を使うと query が破壊されるという話を読み、WP_Query() を使ってみるも、ダメ。 光明が見えたのは、[[WORDPRESS、アーカイブのページングで2ページ目以降が404 | FLEYBLOG>http://blog.fley.co.jp/works/1.html]]という記事。 >管理画面の設定→表示設定の表示する最大投稿数を1、又は-1にする その通りやってみると、確かに404は出なくなった。 しかし、相変わらず、カテゴリが認識されていない。そこで、デフォルトテーマ twentyeleven の category.php を覗いてみる。 はて?1ページごとの投稿数や今何ページ目かといった指定をする記述がない。私のソースでいうここ #codehighlight(php){{ $paged = get_query_var('paged'); query_posts('posts_per_page=2&paged='.$paged); }} そこでひらめいた。本来1ページに何件表示するかは、「管理画面の設定」→「表示設定」の「表示する最大投稿数」で指定しておけば良いのだわ。 正解 #codehighlight(php){{ if ( have_posts() ) : my_paging_nav(); while ( have_posts() ) : the_post(); the_excerpt (); endwhile; my_paging_nav(); endif; }} これだけで良かった。ページングのURLに飛びさえすれば、ページングの処理自体は、wordpress が勝手にやってくれてた。the_post() 内でやってるんだろう。 ちなみに、これでもいけた。でも冗長だよね。 #codehighlight(php){{ $paged = get_query_var('paged'); $category_name = get_query_var('category_name'); query_posts('posts_per_page=2&paged='.$paged.'&category_name='.$category_name); if ( have_posts() ) : my_paging_nav(); while ( have_posts() ) : the_post(); the_excerpt (); endwhile; my_paging_nav(); endif; }}    

表示オプション

横に並べて表示:
変化行の前後のみ表示: