サポート » 使い方全般 » 年度別アーカイブは可能でしょうか?

  • 解決済 crysta

    (@crysta)


    4月~翌年3月が区切りの年度別のアーカイブは、何らかのカスタマイズやプラグインで表示可能でしょうか?
    年度ごとに会長の変わる組織のWEBサイトを構築しているのですが、その年度の会長が発表したコメントをまとめたアーカイブページを作るのに四苦八苦しています。
    コメントは毎月1回発表されるので、会長名と年度の下にコメントタイトルと発表日をリスト表示したいのです。
    もしくは、年度担当の会長でくくれる何らかのキーとなるものを設定してまとめるのが良いのでしょうか?
    こちらは、どのようにしたら実現できるのか、皆目見当がつきません。

    プラグインがあるようでしたら、情報をいただけると幸いです。
    Googleで探したところ、MTにはあるようですがWPではヒットしませんでした…

    よろしくお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • そこまで条件が限られているなら、
    「2008年度」「2009年度」といった年度ごとのカテゴリー、
    あるいは「XX会長」「○○会長」のカテゴリーを作る、というのはどうでしょう・・・
    手動でカテゴリ追加しなきゃいけませんが、年に1回ですし。

    モデレーター jim912

    (@jim912)

    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さんのプラグインで
    対応できそうです。

    まさにドンぴしゃりのアドバイスを下さったお二人に本当に感謝です。
    ありがとうございました!

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「年度別アーカイブは可能でしょうか?」には新たに返信することはできません。