
內容簡介
這是一個以短碼[tgb][/tgb]為包圍範圍,依據start_time、end_time、config所指定的時間區段顯示內容的外掛。
可單獨指定start_time,也可單獨指定end_time。
[tgb start_time=”20160101″][/tgb]包圍的內容會在2016年1月1日顯示。
[tgb end_time=”20161231″][/tgb]包圍的內容會一直顯示到2016年12月31日。
若要在2016年12月31日完整顯示內容,則使用[tgb end_time=”20161231235959″][/tgb],或是使用[tgb end_time=”20170101″][/tgb],將不會在2017年1月1日就移除顯示。
更詳細、可以重複設定的config參數已可進行設定。
設定方式:[tgb 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,表示顯示666月的內容,可用來切換季節性顯示。
[5] 其他任意參數:
add_filter(‘time_goes_by_judgement’, ‘~任意的メソッド名~’, 10, 3);
在functions.php內進行上述設定,並使用任意的方法名以TRUE或FALSE回傳,即可進行對應內容的顯示。
由於不會受到其他判斷的影響,所以可以取代其他判斷。$flg作為參數傳入,可進行不同的判斷。
$config內包含了任意參數以外的上述參數。$content包含了以短碼圍起來的內容,可使用各種顯示方法及判斷方法。
例如,顯示於節日時使用的功能,在此外掛中原本無法實現,但使用此方法即可達成。
範例如下:
[tgb config=”month:1|2|3,day:5|15|25,hour:13|14|15″]1~3月的5號日期正舉行限時優惠!現在至13點~16點期間進行活動中![/tgb]
・timezon
外掛標籤
開發者團隊
原文外掛簡介
ショートコード [tgb ][/tgb] で囲まれた部分が start_time, end_time, config で指定された時間帯等に表示されるようになるプラグインです。
start_time だけの指定
end_time だけの指定も可能です。
[tgb start_time=”20160101″][/tgb] で囲まれた部分は 2016年1月1日を迎えると表示されます。
[tgb end_time=”20161231″][/tgb] で囲まれた部分は 2016年12月31日になるまで表示されます。
2016年12月31日いっぱい表示したい場合は [tgb end_time=”20161231235959″][/tgb] で囲むか
[tgb end_time=”20170101″][/tgb] で囲むと2017年1月1日担った瞬間表示されなくなります。
より詳細で繰り返しも可能な 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] 任意のパラメータ これは
add_filter(‘time_goes_by_judgement’, ‘〜任意のメソッド名〜’, 10, 3);
という感じにfunctions.phpに記述し
任意のメソッド名にて TRUE か FALSE を返却すればそのように表示されます。
そもそも他の判定に依存しないように $flg を引数に入れていますので、そこまでの判定を覆すことも可能です。
$config には任意のパラメータ以外の上記パラメータも入ってきます。 $content にはショートコードで囲まれた部分が入ってますので
様々な利用方法・判定方法が考えられます。
apply_filters( ‘time_goes_by_judgement’, $flg, $configs, $content );
祝日に表示する などは現在のプラグイン自体にはない機能ですが、これを使って実装すると良いでしょう。
例:
[tgb config=”month:1|2|3,day:5|15|25,hour:13|14|15″]1〜3月の 5の付く日は タイムサービスを行っています!!! ただいま13時〜16時までサービスタイム実施中!![/tgb]
・timezone=”Asia/Tokyo” のようにパラメータ指定でタイムゾーンの指定ができます。
このデフォルト値は内部設定のタイムゾーンとなっています。
このデフォルト値は管理画面から変更することが可能です。
その他、この中で利用出来るように[disp_content][disp_title]ショートコードも用意しました。
[disp_content post_id=”xxx”] とすると、投稿IDがxxxのコンテンツを表示します。
[disp_title post_id=”xxx”] とすると、投稿IDのタイトルを表示します。
例:
[tgb start_time=”20160101″ end_time=”20160201″]
[disp_title post_id=”1234″]
[disp_content post_id=”1234″][/tgb]
2016年1月1日から2016年2月1日になるまで(1月31日の間まで)投稿ID:1234のタイトルがh2タグでその下に投稿ID:1234のコンテンツが表示されます。
・disp_content, disp_title のパラメータに slug と status を追加しました。(version 1.2.5)
slug にはスラッグを入れると記事を特定します。(サーバー移転などpost_idが変わるような環境で効果的です。)
status は publish, future, private, draft の中から指定できます。
非公開の状態だったら取得したくない場合などを考慮しました。
無指定の場合はいかなる状態でも取得してきます。
制作:佐藤 毅(さとう たけし) 福岡市南区大橋 ウェブシステム開発 株式会社ジーティーアイ代表
Arbitrary section
A brief Markdown Example
