Time goes byプラグインに config パラメータを追加しました

現行バージョン1.1では start_time と end_time の設定でしたが
1.2より config パラメータを追加しました。

この config は繰り返し詳細に切り分けて使える設計にしております。

設定は config=”day:1|2|3|4|5,hour:7|8|9|10|11″ のように設定します。
上記の設定は下記のように理解されます。

「毎月1〜5日 の 7〜11時 にだけ表示される」

これに start_time, end_time も絡めて詳細に繰り返しとなる部分を設定することが可能になります。
そして複数の設定を一度に行うことができます。パラメータをカンマ区切りで指定します。

** 複数の設定は記述の順番に実行されます。ただし、任意のパラメータについては最後に実行されます。
** 規定のパラメータ、任意のパラメータ以外のパラメータは無視されます。

config パラメータは下記の設定が出来ます。
[1] hour: 24時表記で設定します。7〜10時という場合は hour:7|8|9(10時台に入ったら表示されない) というように | (vertical line)で区切るようにします。
[2] day: 毎月○日の設定をします。 day:7|8|9|10 とすると 7〜10日というようになります。
[3] week: 毎週○曜日の設定をします。 week:sun|mon|tue とすると日〜火曜日という感じです。一応日本語での設定も受け付けるはずです。 week:火|木|土 など。
[4] month: ○月の設定をします。 month:6|7|8 とすると6〜8月という感じです。季節ごとの表示切り替えができる感じです。
[5] 任意のパラメータ これは 例えば example:1 のように設定します。その上で・・・
  
  

add_filter('time_goes_by_judgement', '〜任意のメソッド名〜', 10, 3);

  
  という感じにfunctions.phpに記述し
  任意のメソッド名にて TRUE か FALSE を返却すればそのように表示されます。
  そもそも他の判定に依存しないように $flg を引数に入れていますので、そこまでの判定を覆すことも可能です。
  $config には任意のパラメータ以外の上記パラメータも入ってきます。 $content にはショートコードで囲まれた部分が入ってますので
  様々な利用方法・判定方法が考えられます。
  
プラグイン内のコードは下記のようになっています。

apply_filters( 'time_goes_by_judgement', $flg, $configs, $content );

  祝日に表示する などは現在のプラグイン自体にはない機能ですが、これを使って実装すると良いでしょう。

通常の使用方法の一例は下記の通り

 

リアルサンプル

この下には偶数日だけ「偶数日です」が表示され、偶数時間帯には「偶数時間です」が表示されます。
どちらでもないタイミングには何も表示されません。



注意!!!

Time goes byプラグインインストール時には必ず「初期設定」を行ってください。
WordPress上ではタイムゾーンが UTC に変更されてしまっています。
このプラグインを利用する際に「何だか全然表示時間が違う!」という風になる恐れがありますので、タイムゾーンを確認してください。
UTC となっている場合は 日本時間なら「Asia/Tokyo」に修正して Saveしてください。

この部分も今回修正しました。
WordPress動作環境で「 date_default_timezone_get() 」関数は「UTC」しか返却しなかったので
get_option(‘timezone_string’)を取得しそこに値があれば それを なければ
get_option(‘gmt_offset’) を取得しその数値を「Etc/GMT」にプラスするようにしたものを
 ※例:日本だと「Etc/GMT+9」となります。
それぞれデフォルトタイムゾーンとするようにしました。

これで初めから時間がずれるということはないはずですが・・・。

任意パラメータについては、そのうち応用編として書きます。

ぜひお試しください。

この記事が気に入ったら
いいね ! しよう

Twitter で