そこまで条件が限られているなら、
「2008年度」「2009年度」といった年度ごとのカテゴリー、
あるいは「XX会長」「○○会長」のカテゴリーを作る、というのはどうでしょう・・・
手動でカテゴリ追加しなきゃいけませんが、年に1回ですし。
Crystaさん、こんにちは。
年毎の表示を年度毎にそっくり変えてしまいますが、下記でいかがでしょう。
<?php
/*
Plugin Name: Query for fiscal year
Plugin URI:
Description: 年度別アーカイブ表示
Author: jim912
Version: 0.1
Author URI:
*/
function query_for_fiscal_year( $where ) {
global $wpdb, $wp_query, $fiscal_year;
if ( is_year() ) {
$fiscal_year = (int)$wp_query->query_vars['year'];
$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')";
}
return $where;
}
add_action( 'posts_where', 'query_for_fiscal_year' );
なお、標準のテーマであるkubrickなどでは、年ごとページのh2を最初の記事の日時から取得するため、そのままですと年が変わって記事を投稿した際に年度が変わって表示されてしまうことになります。
上記のプラグインでは、$fiscal_yearをグローバル変数にしているので(安直)適宜テーマなど編集いただければ良いかと思います。
mick_ltcさん、jim912さん、早速のレスをありがとうございます。
返信をお二人まとめてしまってゴメンナサイ。
>mick_ltcさん
早速のアドバイスをありがとうございます。
「2008年度」「2009年度」といった年度ごとのカテゴリー、
あるいは「XX会長」「○○会長」のカテゴリーを作る、というのはどうでしょう・・・
そうでした!WPはカテゴリの階層構造を任意で設定できるのでしたね!
マニュアルを作っておけば、ちゃんと見てやってくださるクライアントさんのサイトは
ご指摘の内容でいけます!ありがとうございました。
>jim912さん
プラグインまで作成してくださってありがとうございます!
PHPは勉強を始めたばかりなので、プラグインを自作するまではとても行きませんが
記述内容を読んでどんな動作するのか理解することは何とかできるようになりました。
とても明快でわかりやすくて助かりました。ありがとうございます。
今回、年度別に投稿をアーカイブする必要のあるクライアント様のサイトが複数ありまして、
1)マニュアルどおりに操作してくださるクライアント様
2)マニュアルをあまり読んでくださらず、操作手順に段階を設けられないクライアント様
とがあります。
1)のクライアント様は、mick_ltcさんのアドバイスで
2)のクライアント様は、jim912さんのプラグインで
対応できそうです。
まさにドンぴしゃりのアドバイスを下さったお二人に本当に感謝です。
ありがとうございました!