【脱修正地獄】コードを共通化して 爆速コーディング する方法【WordPressのlocate_templateを使う】

コードを共通化して 爆速コーディング する方法

phpファイルに似たようなループのコードを何回も書いていませんか?
できるだけコードを短くして、修正の手間を減らしましょう。

【脱修正地獄】コードを共通化して 爆速コーディング する方法【Wordpressのlocate_templateを使う】

前提とする動作環境

  • Custom Post Type UIのプラグインを用いて、カスタム投稿タイプが「お茶クラス」、「ピアノクラス」の2種類ある。
  • Advanced Custom fieldsのプラグインを用いて、「クラス」というフィールドを追加しており、「クラス」フィールドは「お茶クラス」「ピアノクラス」の2つの投稿タイプに表示されるようにしている。
  • 「クラス」フィールドでは「開催日」「開催時刻」「講師名」「開催場所」の項目を登録してある。

サイト名:地域のカルチャー教室の紹介サイト

お茶クラス(投稿タイプのスラッグ名:tea_class)

開催日 開催時刻 講師名 開催場所
2019/5/1 10:00 山田太郎 東京
2019/6/1 10:00 山田花子 北海道

ピアノクラス(投稿タイプのスラッグ名:piano_class)

開催日 開催時刻 講師名 開催場所
2019/7/1 10:00 山田次郎 埼玉
2019/8/1 10:00 山田梅子 青森

共通している部分を見つける

投稿タイプが違うだけで他は同じです。普通に書いたら、2つ分、ループの投稿タイプを変えて、テーブルのタグを書いていくことになります。

同じようなコードが続くとすごく長くなってしまうので、それは避けたいですね・・・。

また、よくある話でテーブルの列に「持ち物」が追加になったとします。

開催日 開催時刻 講師名 開催場所 持ち物(NEW!)
2019/5/1 10:00 山田太郎 東京 お茶
2019/6/1 10:00 山田花子 北海道 お茶、月謝

上記2パターンを修正するのは面倒ですよね。

ここを共通化(テンプレート化)すると、修正が発生した時に楽になります。

参考:関数リファレンス/locate template

以下、コードです。

共通化コードを呼び出し

page_classes.phpで共通化コードを呼び出しています。

 

呼び出されている共通部分

class_table.phpで共通部分が呼び出されます。

以上となります。