みずかるちゃー

ガジェットやカメラ、ちょっとだけ技術の話題が中心のブログ

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

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

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

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

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

WordPressのカテゴリーページで重複コンテンツ判定回避のためにnoindexを使うべきかどうか

環境

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

元のコード(functions.php)

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' );

新しいコード(archive.php)

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

の前に以下を追加

<?php global $paged; query_posts( array( 'category__and'=> array(get_query_var('cat')), 'orderby'=>'date', 'paged'=>$paged ) );?>

編集後記

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

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

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

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