WordPress備忘録

プラグイン

使用したプラグインの感想や機能等を忘れないように備忘録として残しておきます。

記事表示ここから

営業日カレンダー ウィジェット(自作)

営業日(休業日)をお知らせするカレンダーを表示するウィジェットです。

当社のお客様でビジネスサイトを運営しているところがありますが、そのようなサイトでは休業日のお知らせを入れるのは必要不可欠といっても過言ではありません。

今まで他の方が作成されたウィジェットを利用していたのですが、月が変わるごとに月と休業日を入れ直す必要があり、如何せん忘れっぽい為、気づいたら2ヶ月前の休業日だった、という事もありました…。

そこで自分で作ってしまえ、という事で作りましたのでついでに公開します。是非ご利用してみてください。

※バージョン2.0に伴い、ディレクトリ構造を少し変更しました。以前のバージョンをお使いの場合、一度「business-calendar」フォルダ内を全て削除する事をお勧めします。(削除せずにそのままでも全然問題はありません)

営業日カレンダー ウィジェット 機能説明
機能
  1. 休業日となる曜日を設定できます。
  2. 隔週での休業日の設定が出来ます。
  3. 祝祭日(臨時休業日)の設定も出来ます。
  4. 休業日でも臨時営業する場合の日付を設定できます。
  5. カレンダーの週の始めを設定できます。
  6. 月送りの制限が出来ます。(2ヶ月先までの表示、1ヶ月前までの表示等)
  7. 保存時に自動で古い日付データを削除出来ます
営業日カレンダー ウィジェット スクリーンショット
スクリーンショット
カレンダー表示 設定画面 ※ver2.0 追加
カレンダー表示画面 営業日カレンダー 設定画面 営業日カレンダー 設定画面

設置サンプル(wp3.0) | 設置サンプル(wp2.9.2)

営業日カレンダー ウィジェット ダウンロード
ダウンロード

以下からダウンロードします。
- DownLoad(52)

営業日カレンダー ウィジェット インストール
インストール
  1. zipファイルをダウンロードします。
  2. zipファイルを展開後、フォルダごとプラグインフォルダに入れます。
  3. プラグインの管理画面から「Business Calendar」を有効化します。
営業日カレンダー ウィジェット 使用方法
使用方法
  1. 「外観」→「ウィジェット」から「営業日カレンダー」のウィジェットをサイドバーに追加します。
  2. 「タイトル」に入力が無い場合は、タイトルを出力しません。
  3. 休業となる曜日にチェックを入れます。行は上から第一週、第二週…となってます。
  4. 祝日やその他の都合で臨時休業となる場合は、「臨時休業日」欄に日付を入れます。(※)
  5. 通常の休業日に営業する場合は「臨時営業日」欄に日付を入れます。(※)
  6. 週の始めを「月~日」で設定します。(デフォルトは日曜日)
  7. 月の移動の制限を設定します。(移動なし~最大12ヶ月)
  8. 不要なデータを自動で削除する場合は設定をします。
  9. 「保存」をクリックして保存します。
  10. デザインの変更は解凍フォルダの中の「business-calendar.css」を書き換えてください。

(※)日付の入力は一行ごとに入れます。また、日付の入力には必ず4桁の年と月日が必要となります。入力方法はスクリーンショットのような形であればどれでも構いません。

営業日カレンダー ウィジェット 注意
その他注意事項

何かしらのトラブルが発生しても当社が責任を負うことは一切ありませんので、使用する場合は自己責任でお願いします。

営業日カレンダー ウィジェット 更新履歴
更新履歴
  • 2010年7月7日 週の始めの曜日を設定できるように変更
  • 2010年7月6日 カレンダー上で「当月に戻る」リンクを付加
  • 2010年7月6日 月送り機能、メンテナンス機能を追加(ver2.0とする)
  • 2010年6月22日 バグの修正
  • 2010年6月12日 週ごとでの定休日が設定できるように変更
  • 2010年6月9日 次月、前月への移動が出来るように機能追加
  • 2010年1月21日 公開
記事表示ここまで
リンクここまで

この記事のコメント・トラックバックRSS

コメント

  • Eiji さんより:
    2010-06-04 02:52:50

    はじめまして。
    大変すばらしいプラグインをご提供くださり、ありがとうございます。有効活用させていただきます。
    またこれは希望なのですが、前月/翌月の月めくり機能(翌月の予定を見たかったりする場合もありますので)や、お店によっては隔週や第2水曜日と第3水曜日など定休日としているところがあり、このあたりの設定もできるようになると非常に助かります。
    取り急ぎ、こちらのプラグインを使用させていただくにあたり、お礼までに失礼します。

  • ISプランニング さんより:
    2010-06-04 08:42:35

    >Eijiさん
    お使いいただきありがとうございます。

    ご提案の件、非常に良く分かります…。
    実際、弊社のお客様も隔週で土曜日が休みだったりするのです。

    何せ速攻で作ったものなので「その内機能追加しよう」と思いながら、反応も薄かったので放ったらかしにしてました(お客様からも要望が来なかったので)。

    コメントありがとうございます。
    「機能を追加しよう!」という一つのきっかけになりました。

    のんびりお待ちいただき、時々更新されていないか確認いただければ幸いです。

  • kazu さんより:
    2010-06-04 11:57:19

    便利なプラグインみっけ^^と結うことでDLさせていただきました・・・が
    wp2.9.2で使用できませんでした><
    ウィジェットの画面でサイドバーに入れようとすると利用できるウィジェットの端っこに文字が出てきてサイドバーの中に入りません。
    wp2.9.2に対応してないのでしょうか?
    何かとぶつかってるんですかね^^
    ちょこちょこ見に立ち寄ります

  • Eiji さんより:
    2010-06-04 13:09:58

    ISプランニングさま
    ご返答ありがとうございます!また私の希望にも耳を傾けていただき、本当にありがたい限りです。
    御社様のほかの業務もおありのことかと思いますので首を長くしてお待ちしております。是非ともよろしくお願いします。

  • ISプランニング さんより:
    2010-06-04 16:29:17

    >kazuさん
    ダウンロードありがとうございます!

    ダメですか?
    うーん、私の環境ではお客様の所(3つのホームページ)で導入しておりますが、どれもバージョンは2.9.2なんですが…どうしてでしょうか。

    もしかしたら他のものと干渉してるのかもしれません。
    ちなみに「利用できるウィジェット」にはちゃんと「営業日カレンダー」と説明が表示されているでしょうか?

    またドラッグした際に表示される文字とは何でしょうか?宜しければ教えていただけたら多少の解決策は見えるかもしれませんが…(^-^;どうにもならない気もします。

    それとウィジェットをたくさん入れておられる場合、もしお手数でなければ一つずつ停止をしながらどれとの相性が悪いとか判断してもらえないでしょうか?そうすれば確実に解決できます!

    >Eijiさん
    いえ、こちらこそ「やった方が良いなぁ」と思ってるだけで、なかなか上がらなかった腰を叩いてもらった気がするので感謝しております。

    お客様にもなるべく早く提供したいのでわりと直ぐに取り掛かっていくと思いますから、もう少しお待ち下さい。

  • kazu さんより:
    2010-06-06 14:43:14

    ISプランニング様
    返事遅れて申し訳ありません
    早速
    >ちなみに「利用できるウィジェット」にはちゃんと「営業日カレンダー」と説明が表示されているでしょうか?
    営業日カレンダーになってます
    >またドラッグした際に表示される文字とは何でしょうか?宜しければ教えていただけたら多少の解決策は見えるかもしれませんが
    祝日等の休業日:が繰り返し増えていきます
    >それとウィジェットをたくさん入れておられる場合、もしお手数でなければ一つずつ停止をしながらどれとの相性が悪いとか判断してもらえないでしょうか?
    早速検証して報告いたします

  • kazu さんより:
    2010-06-06 15:07:54

    >早速検証いたしました
    すべて停止でだめでした><
    でもIE8自分の環境は駄目でしたが
    同じPCでMozillaでしたら登録できました。
    一余環境を書いておきます

    製品モデル名 Dimension E521
    BIOS製造供給元 Dell Inc
    BIOSバージョン 1.1.4
    BIOSの日付 12-09-06
    Windowsバージョン Microsoft Windows 7 Ultimate
    製造元 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
    クロック速度 2GHz
    L2 キャッシュサイズ 1024

  • ISプランニング さんより:
    2010-06-07 08:32:54

    >kazuさん
    わざわざご検証いただき、ありがとうございます!

    どうやら当方のバグのようですね。大変申し訳ありません。

    先程、こちらでもIEで試してみたところ確かにエラーが発生しているのを確認しました。
    なるべく早急に修正をしますので、申し訳ありませんがもうしばらくお待ち下さい!

  • ISプランニング さんより:
    2010-06-07 11:01:52

    >kazuさん
    ご迷惑をお掛けしました。
    色々検証したところ単純にHTMLのミスでした(タグを閉じていないという初歩のうっかりです…)。

    修正してアップロードし直しましたので宜しければお使いください。

    大変失礼しました。

  • kazu さんより:
    2010-06-07 12:21:21

    ISプランニング様
    早速DLさせていただきます^^

  • kazu さんより:
    2010-06-08 17:08:42

    ISプランニング様
    サイドバーに設置したんですが表示がおかしいところがあるんですが
    私のほうかプラグイン自体かわからないのですが
    functions.phpにサイドバーの設定で
    ` register_sidebar(array(//左サイドバー
    'name' => 'Sidebar Right',
    'before_widget' => '',
    'after_widget' => '',
    'before_title' => ' &nbsp',
    'after_title' => '',
    ));`
    を入れているんですが下の部分の
    ``
    を吐き出さないのですが
    ソースでみると

    で終わっています
    これははきださないのでしょうか?
    よろしくおねがいします

  • kazu さんより:
    2010-06-08 17:13:35

    すいません映ってなかったでした
    functions.php
    register_sidebar(array(//左サイドバー
    'name' => 'Sidebar Right',
    'before_widget' => '<div><div></div>',
    'after_widget' => '<div></div></div>',
    'before_title' => '<h3>&nbsp;&nbsp',
    'after_title' => '</h3>',
    ));
    吐き出さない部分
    <div class="sbr_footer"></div></div>

  • ISプランニング さんより:
    2010-06-09 09:09:57

    >kazuさん
    大変ご迷惑お掛けします…(汗)。

    まだ検証できていませんので対処していませんが、現在プログラム自体を大幅に変更中ですのでもう少しお待ちいただけますか?

    明日か明後日中にはもっと安定したものをご提供できると思います。

  • kazu さんより:
    2010-06-10 10:47:07

    ISプランニング さん
    >大変ご迷惑お掛けします…(汗)。
    全然大丈夫ですよ^^こちこそ無料で使わせていただいてありがとうございます

    >安定したものをご提供できると思います。
    迅速な対処ありがとうございまし

  • Toro_Unit さんより:
    2010-06-22 00:01:26

    早速使わせていただいていますが、hetemlにて運用しようと思ったら
    Invalid argument supplied for foreach() in
    というエラーが89、102行目に発生してました。
    環境は3.0です。。。3.0に対応させろってのも今の時期で無茶な話ですが・・・(汗

    解決したらまたご報告致します。

  • Toro_Unit さんより:
    2010-06-22 00:16:13

    度々すみません、先程コメントいたしました問題ですが、解決致しました。

    どうやら、$inc,$excが空の時、配列として解釈されないまま、foreachにかけているのが問題のようでした。ですので、その前にif(!empty($inc)を入れることで解決できました。

    というわけで、便利に使わせていただいてますm(_ _)mありがとうございます。

  • ISプランニング さんより:
    2010-06-22 08:40:56

    >Toro_Unitさん
    コメント及び、不具合の報告と修正をいただきありがとうございます!

    ダウンロードファイルにも早速反映させていただきました。やはり色々なところで抜けてますねぇ…反省します。

    今後ともどうぞ宜しくお願いします!

  • Eiji さんより:
    2010-06-26 19:17:47

    ISプランニングさま

    こんにちは。バージョンアップしていただけたんですね。
    ありがとうございます!使わせていただきます。
    (すいません、6月9日にバージョンアップしていただいていたにも関わらず気付きませんでした)
    素晴らしいプラグインをご提供くださり、感謝します。

  • Eiji さんより:
    2010-06-26 19:51:50

    ISプランニングさま

    度々恐れ入ります。
    早速ダウンロードしてプラグインを有効化し、WordPress Default 1.6テーマ(WordPress本体も2.9.2で標準インストール状態です)のサイドバーに追加したのですが、正しく画面に表示されないようです。

    HTMLソースは以下のようになっています。

    <ul>
    <li id="isp_businesscalendar-3" class="widget widget_isp_businesscalendar"><h2 class="widgettitle">Calender</h2>
    <div id="isp-calendar-frame"></div>
    <input type="hidden" id="base-holiday" value="1=2&2=2,3&3=2,3&4=2&5=2" />
    <input type="hidden" id="inc-holiday" value="" />
    <input type="hidden" id="exc-holiday" value="" />
    </li></ul>

    どこを修正すれば良いのか私には皆目検討も付かず…。
    私の希望にもお答えいただいておきながらで大変申し訳ないのですが、どうしたら良いのでしょう?

  • Eiji さんより:
    2010-06-27 21:16:38

    ISプランニングさま

    ふと気付いたのですが、2010年でいうところの1月・5月・10月など、1ヶ月間に最大6週間ある月もあります。こういった場合の設定はどうしたら良いのでしょう?

  • ISプランニング さんより:
    2010-06-28 08:50:57

    >Eijiさん
    再度のダウンロードありがとうございます。

    ご迷惑お掛けします。
    表示できない件はこれから調べてみますので、もう少しお待ち下さい!

    カレンダーの6週目の件ですが、基本的に5週あれば、「7日 x 5週 = 35日」ですので、第6に入る曜日は無いと思うのですが如何でしょうか?
    (もちろんカレンダー上はちゃんと6行で表示されます。)

  • ISプランニング さんより:
    2010-06-28 10:13:19

    >Eijiさん
    先程、WordPress2.9.2をプリインストールしてDefault 1.6のテーマのままbusiness Calendarを有効化して、ソースを参考にEijiさんの営業日の設定通りにしてみました。

    http://www.is-p.cc/wp-older-version/

    問題なく動作しているみたいです。
    また、PHPのエラーを確認してみましたが、問題はありませんでした。

    Eijiさんの提示されたソースを見てもしっかりと必要な情報が出力されているのでHTML出力までは問題ないと思います。

    なので他で考えられるのはJavaScriptのエラーになります。

    まず、ヘッダに「business-calendar.js」ファイルが読み込まれているか確認してください。
    もし読み込まれている場合は、他にJavaScriptのエラーが発生していないか確認してもらえませんか?もしかしたら途中でスクリプトエラーが発生している為、カレンダー作成のスクリプトまで到達出来ていない恐れがあります。

    もしくは差し支えなければ設定URLを教えていただければこちらでも確認できますが。

  • Eiji さんより:
    2010-06-28 23:10:52

    ISプランニングさま

    お世話になります。
    お調べいただきまして、ありがとうございます。
    それからお手数をお掛けしてしまい申し訳ございません。

    > ヘッダに「business-calendar.js」ファイルが読み込まれているか確認してください。

    私のほうではプラグインを有効化して休日設定するぐらいまでしか行っておらず、JavaScriptが挿入されているかまでは確認しませんでした。

    いま確認しましたところ、ISプランニングさまが作成していただけたサンプルと同じようにJavaScriptは挿入されているのですが、カレンダーが出力されていません。

    私が設置を試しているところは「http://eiji.ws/sample01/」です。
    お手数をお掛けしてしまいますがご確認いただけると助かります。

    それから、カレンダーの6週目の件についてですが、暦の上では確かに同じ曜日が1ヶ月間に最大5回までしか存在しませんので、6週間ある月でも問題ございません。

    営業日カレンダーの設定画面で"週"の列が1~5となっておりましたため、てっきり1週間目~5週間目の設定まで可能であると勘違いしてしまいました。

    このようなことを申し上げるのは心苦しいばかりなのですが、"週"を"第"とすると私のように勘違いしないで済むかもしれません。
    見方としては、第1火曜日と第2火曜日、毎週水曜日のようなイメージでしょうか。自分で申し上げておきながらあまり変わらないかもしれませんね(汗)

    長文お許しください。
    どうぞ、よろしくお願いします。

  • ISプランニング さんより:
    2010-06-29 08:33:40

    >Eijiさん
    (^-^なるほど。確かに「週」よりも「第」の方が分かり易いですね。ちょっと変更しておきます。

    それとカレンダーの件ですが、確かに「business-calendar.js」は書かれていますが、読み込まれていないようですね。

    読み込まれていないというのは「ファイルが見つからない」という事です。

    http://eiji.ws/sample01/wp-content/plugins/business-calendar/business-calendar.js

    のパスが間違っていますね。
    恐らくpluginsディレクトリがデフォルトでは無いと思うのですが…。

    一応、pluginsディレクトリの指定にはWordPressの「WP_PLUGIN_URL」という定数を利用して取得しているのですが、どうやらちゃんと取れないみたいですね。


    修正方法としてですが、当プラグインの「business-calendar.php」を開いていただき、238行目と248行目にある「WP_PLUGIN_URL」の代わりに適正なパスを指定してやれば良いと思います。

    例)
    $plugin_url = "http://eiji.ws/sample01/適正なプラグインディレクトリのパス/business-calendar";


    お試し下さい。

  • Eiji さんより:
    2010-06-29 10:10:10

    ISプランニングさま

    おはようございます。
    お調べいただきまして、ありがとうございます。

    いま原因がわかったような気がします。
    というのも、実在するJavaScriptファイルに直接アクセスしても
    (http://eiji.ws/sample01/wp-content/plugins/business-calendar/business-calendar.js)
    エラーになってしまいます。
    ご指摘の通り環境変数がうまく取れていないということなのでしょうか?

    試しに、別のWPブログ(上位ディレクトリ)に導入してみましたところ、こちらではうまくいけました。
    うーん、難しすぎて良くわかりません(汗)

    実際に導入したいところは別ドメインですのでその時にまた試行錯誤してみたいと思います。

    度重なるサポートと素晴らしいプラグインの開発・ご提供に本当に感謝しております。
    バージョンアップも驚くほど手早く対応していただけ、言葉もございません。

    私は東京に住んでおり広島には行ったことがないのですが、機会があれば是非とも一緒に仕事したいと感じております(私も個人で制作業を営んでおりますので)。

    本当にありがとうございました!

  • ISプランニング さんより:
    2010-06-29 13:14:59

    >Eijiさん
    原因が分かったみたいで何よりです。ただし解決策が分からないみたいで逆に困ってしまいますが…。

    「sample01」というディレクトリにWPをインストールされているのでしょうから、
    「/sample01/wp-content/plugins/business-calendar」というディレクトリ構造になっていれば表示されると思うのですが…。

    一度FTPから確認されるのをお勧めします。

    バージョンアップは当方としても「やらないといけないなぁ」と思っていたところですので丁度きっかけになりました。こちらとしても感謝しております。


    当方は一流のプログラマーではありませんが、「顧客満足度」を第一に考えている会社であり、お客様の望むものをご提供する力はあると自負しております。

    機会があれば声をお掛け下さい。いつでもお待ちしております!

  • Eiji さんより:
    2010-07-01 00:14:27

    ISプランニングさま

    お世話になります。
    > 「/sample01/wp-content/plugins/business-calendar」
    先日の段階でこのディレクトリ構造になっていて、ディレクトリ内の一覧表示も.htaccessで許可しつつその一覧からJavaScriptファイルを開こうとしても404エラーが表示されている状態でした。

    いま再度確認したところJavaScriptファイルが開け、何故か、営業日カレンダーも表示されるようになっていました。
    あれれ?自動的に直った?お名前comのVPSだから???いえ、すいません、最近お名前comのVPSに嫌気がさしていたところなので気にしないでください。

    顧客満足度の高い企業様であれば顧客離れも起こりにくいでしょうし信頼も高く素晴らしい限りです。羨ましいです。私もいつか起業しようと思っているので御社さまのような企業様になれるよう頑張ります。

    ところで、営業日カレンダーに有料でも結構ですのでいくつか機能追加していただくことは可能でしょうか?

    私の勝手な希望なのですが、

    1. 翌月/前月で月送りできる期間を選択できるようにする。
    中小零細企業や個人商店では先の予定が2ヶ月先ぐらいまでしか決まっていないことがあり、その先の営業日カレンダーは見られたくない場合があるためです。

    2. 現在の年月を表示している箇所(2010年6月)に今月に戻るためのリンクを付ける。
    現状ですと、月送りした後に今月のカレンダーを表示するためには再度月送りをしなくてはなりません。そのため今月のカレンダーへのリンクが欲しいです。

    3. WordPressの独自テンプレートに対応できるようにする。
    ウィジェット対応のテンプレートでしたら問題ないのですが、そうではない場合でもカレンダーの設定画面にアクセスして編集できるようにしたいです。Ktai_Styleのようなイメージです。

    4. カレンダーの設定ができる権限レベルの設定をできるようにする。
    現状ですと、テンプレートを編集できる=管理者レベルのユーザーしかカレンダーの設定をすることができません。しかし日常的に管理者ユーザーにて操作するのはあまりお勧めできないため、編集者ユーザーでの編集ができるようにしたいです。

    以上、勝手なことを申し上げてしまい恐縮ですが、上記の機能を実装するための概算見積もりを教えていただけると助かります。

    どうぞ、よろしくお願いします。

  • ISプランニング さんより:
    2010-07-01 10:23:50

    >Eijiさん
    なるほど。了解しました。

    とりあえずEijiさんのメール宛にご回答を送信させていただきます。

コメント・トラックバック ここまで

トラックバック用URL:

コメントフォーム

コメント入力

コメントフォーム
※管理人にのみ公開されます

記事のリンク先URL:http://www.is-p.cc/wordpress/plug-in/business-calendar/700

空白
ページのトップに戻る
空白