【WordPress】カスタムフィールドを簡単作成したくて「Custom Field Suite」を使ってみました。

知人のホームページ作成で、スケジュール投稿用のカスタムフィールドを作りたくて「Custom Field Suite」を使ってみました。

「Custom Field Suite」を選んだ理由

「Advanced Custom Fields」の方をすすめられたりもしてたんですが、元々フィールドタイプにLoopが有る(入力項目のセットをボタン一発で投稿フォーム上で追加できる機能)って事で「Custom Field Suite」にしてみました。

要はケチりました(笑

使用方法はこちらに詳しくのってたので参考にさせて頂きました。

今回「Custom Field Suite」で作った項目はこんな感じです。

  • スケジュールタイトル
  • 日付
  • 概要

でこのセットをボタンで追加して行ける感じで作ってみました。

CFS01ここまでは特に問題なくいけたんですが、問題は出力する方で、単体の項目の出力はすんなりできた物のLoopで増やしたほうの日付の整形のやり方がイマイチわからなくてずーっと悩んでました^^;

日付の項目単体で呼び出す場合

echo date('Y年m月d日', strtotime($cfs->get('birthday')));

これで「2013年04月07日」のような形で出力できるのは分かったんですが、
Loopの場合のループの中だとどこで指定すれば良いんだか迷う事半日(笑

で何とかできたのがこちら


<?php $loop = new WP_Query(array("post_type" => "schedule", "posts_per_page" => 1 ));

while($loop->have_posts()): $loop->the_post(); ?>

<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

 <h2><?php the_title(); ?></h2>
 <h3><?php echo $cfs->get('title'); ?></h3>

<ul>
 <li><?php echo date('Y年m月d日', strtotime($cfs->get('date'))); ?></li>
 <li><?php echo $cfs->get('summary'); ?></li>
</ul>

 <?php $fields = $cfs->get('Schedule'); foreach ($fields as $field) { ?>

 <h3><?php echo $field['title']; ?></h3>

<ul>
 <li><?php echo date('Y年m月d日', strtotime($field['date'])); ?></li>
 <li><?php echo $field['summary']; ?></li>
</ul>
 <?php } ?>

</div>

 <?php endwhile; ?>

こんな感じにしてみました。
まだまだ良くわかって無いんでしらべちゃ~切ったり貼ったりして作ってみたんで「何でこんな?」って箇所もあるかもですが^^;

date(‘Y年m月d日’, strtotime($cfs->get(‘date’))の「$cfs->get(‘date’)」の代わりに「$field[‘date’]」を入れれば良いって気がついてみれば当然な感じでした(笑)