【ちょっと改良】特定のカテゴリを表示しないカレンダープラグイン|Specific Calendar

最近ナイキのスニーカーで出勤しているフジカワです。ちなみにスーツなので黒いスニーカーを選んだのですが、あまり違和感がないようで、会社では誰もこの件には触れてきません。もしくはぶっとびすぎてて触れられないかのどちらかです。

プラグインを改良しました

あまりにも設置がめんどくさいこのプラグイン。(詳細はこちらの「【本編】特定のカテゴリを表示しないカレンダープラグイン|Specific Calendar」)
あんまりなのでちょっとだけ改良しました。

修正版ダウンロード
get_calendar_specific0_7_5.zip
旧バージョン
get_calendar_specific0_7.zip

設定箇所が一箇所になりました

旧バージョンはファイル内に設定箇所がちりばめられていましたが、その辺を冒頭の一箇所に集めました。

/*
カレンダーに表示させないカテゴリIDをシングルクォーテーションで括って入力
複数の場合はカンマ区切りで続けて入力
例)
カテゴリIDが1のエントリーを表示させない場合
define("EXCEPTID","'1'");
カテゴリIDが1,3,5のエントリーを表示させない場合
define("EXCEPTID","'1','3','5'");
*/
define("EXCEPTID","'1'");

と言うわけで、カレンダーに表示させたくないIDを、定数EXCEPTIDに入れていきます。

define("EXCEPTID","'表示させたくないカテゴリIDその1','表示させたくないカテゴリIDその2'…");

といった感じで追加していってください。

あとは前回同様にテンプレート側の

<?php get_calendar(); ?>

<?php get_calendar_specific(); ?>

に変更すればOKです。

今やってみていること

やはり管理画面からの設定が望ましいのですが、
phpからの勉強、という状態なのでなかなかに苦労しています。
引き続き、お時間があってお手伝いいただける方、情報をお待ち申し上げます。

8個のコメントあるよ

  1. はじめまして。
    特定のカテゴリーを除外して表示したかったので、Specific Calendarプラグインはとても重宝しています。ありがとうございます。

    ひとつ質問なのですが、こちらのサイトのカレンダーでは、キャプションの表記が2009年12月という風に表示されていますが何かカスタマイズなどしているのでしょうか?
    私の場合Specific Calendarを使用すると12月2009 という感じで年月が逆に表示されてしまいます…

    デフォルトのカレンダーを使えばきちんと2009年12月のように表示されます。

    ちなみにWP2.8.6でパーマリンクの設定は /%category%/%postname%/ で設定しています。原因はおわかりになりますでしょうか?

  2. >ひろ。さん
    コメントありがとうございます。
    使用中のテンプレートを確認できる状態にないので、
    週明けまでお待ちください。
    ちょっとソースを見てみて、わかりそうだったらご連絡しますね。

    おそらくプラグイン内111行目

    ‘ . sprintf(_c(‘%1$s %2$s|Used as a calendar caption’), $wp_locale->get_month($thismonth), date(‘Y’, $unixmonth)) . ‘

    周辺がポイントだと思います。
    ちなみにWordpressの「一般設定」>「日付フォーマット」は何になっていますか?
    そこも関連しているかもしれません。

  3. お返事ありがとうございます。

    日付フォーマットはY/m/d(2009/12/13)に設定していましたが、デフォルトに戻しても、他の設定も全部試してみましたが、やはり表示は年月が逆になったままでした。

    私もなんとなく上記のプラグイン内111行目あたりを変更すれば変わるのかな?とは思っていたのですが、phpには疎いためどのように変更したらよいのかわからずにいます。

    お時間のある時でいいので、おわかりになるようでしたら是非ご回答いただけると助かります。

  4. 管理人さん、こんばんは。

    あれからネットで検索して
    <caption>' . sprintf(_c('%1$s %2$s|Used as a calendar caption'), $wp_locale->get_month($thismonth), date('Y', $unixmonth)) . '</caption>
    の部分を
    <caption>' . sprintf(_c('%1$s %2$s|Used as a calendar caption'), date('Y年', $unixmonth), $wp_locale->get_month($thismonth)) . '</caption>

    のように変更したら無事2009年12月という風に表示できました。

    カレンダーを英語表記にしていらっしゃる方にはそのままでよいのでしょうけれど、私のように日本語表記の場合はやはり年月が逆に表示されるのはどうしても気になるので…

    多分、私と同じ環境の方も少なからずいらっしゃると思いますので、ReadMe.txtかサイトに変更方法を載せていただけると初心者にも親切かなと思います。

    お忙しいとは思いますが、今後のバージョンアップも期待していますので頑張って下さい。
    陰ながら応援しています。

  5. >ひろ。さん
    連絡が遅くなってすいません。無事に目的を果たせたようで何よりです。
    こちらでもこのプラグインを使っているWPをチェックしてみた(実はこのブログでは使ってない。表示させたくないカテゴリはないのでw)のですが、やはり上記のままで使用しながらもカレンダー表示は「2009年12月」となっていますね。
    もしかしたらwpのバージョンの問題が絡んでいるのかもしれません。
    時間が取れたら改めて検証してみたいと思います。

  6. Neustilog – ノイスティログ -» ブログアーカイブ » よく使うWordPressプラグイン

    [...] get_calendar_specific 特定のカテゴリをカレンダーに反映させないようにできます。↓設置例 [...]

  7. [...] まずは作者様のホームページからプラグインをダウンロード [...]

  8. 初めまして、このようなプラグインを探していまして活用させて頂いております!

    今回Wordpress3.1.2jpで使用しようとしているのですが、
    表示させないカテゴリーが1つの時は問題なく動作するのですが
    1つ以上を非表示にしようとすると全てのカテゴリーが非表示になって
    しまいます。
    同じような現象が起きた方はいませんか?
    もし何か対処法があれば教えて頂きたく思います(´・ω・`)

コメントを残してみる

コメント