WordPress3.8にしたらカテゴリーページが表示されなくなった件

2013年12月12日に公開されたWordPress3.8.
1週間くらい様子見して問題なさそうだったのでバージョンアップしてみました.

が,カテゴリーページが表示されない\(^o^)/

image

どのカテゴリーページでも「記事がありません」の表示.

調査の結果「親カテゴリのページに子カテゴリの記事を載せない」用のコードがWP3.8から動かなくなったことが原因でした.

Screenshot of webshufu.com
【WordPressカテゴリーページのSEO】meta name=”robots”をindexにする前にやるべき9つのこと|ウェブシュフ
スポンサーリンク

環境

WordPress:3.8
テーマ:Stinger3(WP3.8適応済み)

元のコード(functions.php)

[html] function customize_main_query_category($query) {
if ( is_admin() || ! $query->is_main_query() )
return;
if ( $query->is_category() ) {
$query->set( ‘category__and’, array(get_queried_object_id()));
}
}
add_action( ‘pre_get_posts’, ‘customize_main_query_category’ );
[/html]

新しいコード(archive.php)

[html]<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>[/html]

の前に以下を追加

[html] <?php
global $paged;
query_posts( array(
‘category__and’=> array(get_query_var(‘cat’)),
‘orderby’=>’date’,
‘paged’=>$paged
) );?>
[/html]

編集後記

image 
このように無事カテゴリーページが表示されるようになりました.

WordPressのメジャーバージョンアップは何に影響でるかわからないので怖いですね.
やっぱりバックアップは必須ですね・・・

今回のコードは親カテゴリのカテゴリーページに子カテゴリーの記事を載せないようにするものです.
同じ記事がいくつものカテゴリーに表示されているとGoogleに重複ページを認識されてしまう可能性があるからですね.
カテゴリーページはnoindexにしていないので必須なのです.

新しいコードや機能追加するときはどこのページを参照して記述したか,全部残しておかないと調べなおしで面倒ですね・・・
もうちょっと管理のほうにも力を注いでいく必要がありそうです.

スポンサーリンク