祝日API作成中。

いま、色んなWebアプリを制作する上に必要になる祝日APIを作成中です。既に他のカレンダーAPIも出ていますが、弊社はこんなのも作ってるよと公開したくて作成中です。

callendar-api-making-img

いま、色んなWebアプリを制作する上に必要になる、祝日はいつかを取得するAPIを作成しています。

いや、Google Callendarの祝日API(公式ページがリンク切れ)や他に既に出ているカレンダーAPI(カレンダーサービス)を使えば良いじゃないと言われたらそれまでの話ですが・・・

今回自分で作って実際のプログラムで使うのはもちろん、AMSはこんなこともやってるよと公開・あわよくば配布したくて作成中です。

ライセンスは MIT License なので自由にご利用いただけます。

できること

  • データの取得範囲
    一日単位で取得することや、月単位・年単位で取得する事が可能。
  • 祝日

    • 基本的な祝日はもちろんのこと、
    • 昔の祝日名にも対応
      (例:4月29日の昭和の日は、かつて天皇誕生日・みどりの日だった、など。アクセスした年に対して対応した祝日名を返します)
    • ハッピーマンデー制度(●月の第●月曜日の祝日)対応
    • 春分の日・秋分の日対応
    • 振替休日対応
    • 国民の祝日対応(2つの祝日が飛び日になった場合)
    • 皇室慶弔行事に伴う休日 対応
    • 2016年から対応する最新の祝日【山の日】対応
    • 法律制定日にも対応
      (例:祝日制度が1948年7月20日に始まったのに対し、極論1900年にアクセスしても当時存在しない祝日が出てくる事はありません)
  • 取得形式:XML、JSON対応
  • ソースコード公開:言語はPHP。
  • 英語名対応
    (例:敬老の日 → Respect for the Aged Day)

さらに対応予定のもの

  • JavaScript の言語でのソースコード公開
  • 「国民の休日」(国民の祝日に関する法律)制定前の、紀元節・天長節などの祝日

APIができたら

GitHub会社のホームページ(まだ準備中)に紹介ページ・ソースコードを掲載したいと思います。

【WordPress】カスタムフィールドテンプレートのテーマ内foreach処理

先日、Wordpressのテンプレート内にカスタムフィールドテンプレートを用いて項目を表示するという案件がありましたが、テーマのアップグレードで消してしまいました…。備忘録がてらにコードを書いてみました。

繰り返しイメージ画像

Photo Repeat by Thomas Hawk.

先日、Wordpressのテンプレート「Twenty Fifteen」内にカスタムフィールドテンプレートを用いて項目を表示する、という案件がありました。

しかし、以前にそのコーディングをしたのですが、Wordpress のテーマをアップグレードしてしまい、その作業を無駄にしていまいました・・・

教訓!

親テンプレートは弄るな。子テンプレートを作れ。

(ただし、自作テーマの場合はこの限りではない)

ということで、今回の作業を備忘録していきます。

カスタムフィールドテンプレートのforeach処理

今回は「Twenty Fifteen」内に書くので、対象のPHPは「content.php」になります。

そして今回はさらに、このようにしたいと思っています。

  • レスポンシブしやすくするため、定義形式(DT-DL-DD)
  • もしもカテゴリーがrecruitだったらに限定
  • 該当項目が空白だったら、その項目は非表示
  • 複数行にも対応(しなくても良いところもありますが、纏めて対応)

・・・ずばりコーディングするとこうなります。

位置関係を言うと、div.entry-contentが来て、the_content・wp_link_pagesの処理が終わったあとの次です。

子テーマを作れ

今回泣く事になってしまった原因です。

取り敢えず、下記サイトを参照してサクっと作ってきました。

wordpress子テーマの作り方!style.css・各テンプレートファイル・function.php の設定手順 | ゆとり世代のブログ運営論
http://viral-community.com/wordpress/wp-child-theme-5818/

また作る事もあるかも知れないので、今回の style.css も備忘録がてらに貼っておきます。

Templateのところはディレクトリ名なので、テンプレート名 Twenty Fifteen と入れない様に注意が必要です。ここでも沼にはまってしまいました・・・。