Staff Blog
スタッフブログ

  • Twitterでシェア
  • このエントリーをはてなブックマークに追加
  • Google+でシェア
  • follow us in feedly

WordPressプラグイン「Smart Custom Fields」

こんばんは、k太郎です。

先日WordPress案件で使用したプラグインが便利だったので紹介したいと思います。

投稿画面で同じカスタムフィールドを繰り返し使用したい!

例えば下記のように各セルがカスタムフィールドに対応していてセルがいくつ必要かわからない場合、公開前後に慌てて予備のカスタムフィールドを追加するといったことがあるかと思います。
投稿者側で自由にカスタムフィールドを増減でき、かつそれがテンプレートに反映されたら便利ですよね。

こんな時

そんな時に使わせて頂いたのがこちら!

WordPress のカスタムフィールドを簡単・便利に使えるようになるプラグイン「Smart Custom Fields」作った。 | モンキーレンチ

WordPressでの設定

サイドメニュー

インストール後、左のメニューから新規追加を選択。

名称未設定-1_03

編集画面はこんな感じ。
カスタムフィールドを繰り返し使用する場合「Reapeat」にチェックを入れる事でグループが生成されます。
グループ内にカスタムフィールドを追加する場合「Add Sub field」をクリックします。
グループを追加する場合「Add field」をクリックします。

名称未設定-2_03

今回はこんな感じで編集しました。
これで固定ページでこれらのカスタムフィールドが繰り返し使用できます。

名称未設定-2_03

投稿画面に追加したグループが表示されます。
+-でグループを増減できます。
こちらを編集すればWP側の設定は完了です。

テンプレートの記述


<table>
  <tr>
    <th>種類</th>
    <th>値段</th>
    <th>個数</th>
  </tr>
  <?php
    $oyasai_group = SCF::get( 'cf_oyasai_group' );
    foreach ( $cf_oyasai_group as $field_name => $field_value ) {
  ?>
    <tr>
      <td><?php echo esc_html( $field_value['cf_kind'] ); ?></td>
      <td><?php echo esc_html( $field_value['cf_nedan'] ); ?></td>
      <td><?php echo esc_html( $field_value['cf_kosu'] ); ?></td>
    </tr>
  <?php } ?>
</table>

テンプレートにはこのように記述します。
グループ名を設定した変数をforeachで回して、各カスタムフィールド名をキーに値を取り出します。

出力結果

名称未設定-1_03

無事入力内容が出力されました。

この他詳しい仕様については作者様サイトをご参照ください。

WordPress のカスタムフィールドを簡単・便利に使えるようになるプラグイン「Smart Custom Fields」作った。 | モンキーレンチ

使ってみて

WordPress側の設定方法も分かりやすく、テンプレートでの記述もシンプルでとても使いやすかったです。
Smart Custom Fieldsは新たな機能を追加していく予定だそうです。
今後も楽しみですね!

この記事を共有する

投稿者:k太郎
    2014年12月15日月曜日 | 21:09
    ピザ食べたい。

    この人が書いたその他のブログ記事

    “WordPressプラグイン「Smart Custom Fields」” への3件のフィードバック

    1. タロウ より:

      種類
      値段
      個数

      $field_value ) {
      ?>
      ———————————————-

      ———————————————-
      まで全然表示がされないですけど何ででしょうか

    2. test より:

      こんにちは。
      ==========================================
      $field_value ) {
      ?>
      ==========================================
      もしかして、 $oyasai_group = SCF::get( ‘cf_oyasai_group’ );の
            ↑って、↓スペルミス?
      foreach ( $cf_oyasai_group as $field_name => $field_value )

      $oyasai_groupを
      $cf_oyasai_groupに直した。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    • I.M.Dコーポレートサイト
    お問い合わせ