年度別アーカイブで記事が無いのにリストが出てしまう
-
現在、2012年4月~12月・2013年1~3月の記事は、2012年度の記事一覧に表示しています。
それは良いのですが、
2013年1~3月に記事があると、なぜか2013年度のリンクが表示され、
クリックすると空のページが表示されてしまいます。下記の様に年度別で記事を表示させているのですが、
原因がさっぱり分かりません。。
ご教授頂けると非常に助かります。よろしくお願いします。
■category.php
<ul class="yearly"> <?php wp_get_archives('type=yearly&cat=9&after=年度'); ?> </ul>
■function.php
function query_for_fiscal_year( $where ) { global $wpdb, $wp_query, $fiscal_year; if ( is_year() && is_category()) { $fiscal_year = (int)$wp_query->query_vars['year']; $cat = $wp_query->query_vars['cat']; $next_year = $fiscal_year + 1; $where = " AND ( ( YEAR($wpdb->posts.post_date) = '$fiscal_year' AND MONTH($wpdb->posts.post_date) BETWEEN '4' AND '12' ) OR ( YEAR($wpdb->posts.post_date) = '$next_year' AND MONTH($wpdb->posts.post_date) BETWEEN '1' AND '3') ) AND $wpdb->posts.post_type = 'post' AND ($wpdb->posts.post_status = 'publish' OR $wpdb->posts.post_status = 'private')"; $where .= " AND $wpdb->term_taxonomy.taxonomy = 'category' " . " AND $wpdb->term_taxonomy.term_id IN ($cat) "; } return $where; } function my_join( $join ) { global $wpdb; if( is_year() && is_category() ) { $join = " INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) "; } return $join; } add_action( 'posts_where', 'query_for_fiscal_year' ); add_action( 'posts_join', 'my_join' );
2件の返信を表示中 - 1 - 2件目 (全2件中)
2件の返信を表示中 - 1 - 2件目 (全2件中)
- トピック「年度別アーカイブで記事が無いのにリストが出てしまう」には新たに返信することはできません。