Repeater Field でWordPressのアドバンスカスタムフィールドを拡張

久々のWordPressネタ。

Repeater Field」は繰り返し使えるカスタムフィールドのひな形を作って、顧客(編集者)が自由に追加したり、並び替えをすることができるAdvanced Custom Fieldsの有料ライセンスの拡張機能(アドオン)です。企業サイトなど顧客のことを考えれば導入して損はありません。通常のカスタムフィールドよりも使いやすく操作の説明の手間が省けますからね。

このプラグイン自体の使い方は様々なサイトで紹介されていると思いますので割愛しますね。アドオンを購入しなくても本体の機能は無料で使えます。

PayPal経由の25オーストラリアドルなので2,000円超えないくらいです。マルチライセンスなので購入したパスコードさえあれば複数のサイトでも使用できますよ。

Repeater Field

Custom Field > Settingsを開き、購入後に送られてくるメールに書いてあるパスワードを入力します。

Field Typeのプルダウンメニューに新たにRepeaterが追加されます。

ここで、カスタムフィールドのテンプレを作成します。写真やテキスト、チェックボックス、ファイルなどを自由に設定可能です。複数のRepeaterを作ることもできます。

設定した投稿画面(ページ、投稿、カスタム投稿など)にカスタムフィールドの入力画面が現れます。Add Rowで顧客(編集者)が新しく追加することもできます。上下の並び替えもドラッグ&ドロップで自由に変更可能です。

<?php if(get_field('image')): ?>
<?php while(the_repeater_field('image')): ?>

<section>
  <h1><?php the_sub_field('title'); ?></h1>
  <img src="<?php the_sub_field('image'); ?>" width="130" height="130" alt="<?php the_sub_field('title'); ?>">
  <p><?php the_sub_field('caption'); ?></p>
</section>

<?php endwhile; ?>
<?php endif; ?>

コードはこんな感じでループを書きます。追加された分も含めて表示されます。

そしてこんな感じで表示されます。利用者側からみて、列は操作出来ませんが、行を増減させるのと並び替えは自由なので会社沿革や商品リストなどのテーブルに応用すると便利です。

Repeater Field以外のアドオン「Flexible Content Field」「Options Page」も機会があれば試してみたいです。