WordPressのカスタムフィールドをずっと見て見ぬふりをしてきましたが、ちょっとトライしました。

まず、投稿やページの編集画面からカスタムフィールドの「名前」「値」を入力します。
たとえば
「名前」色 「値」赤
「名前」サイズ 「値」M
「名前」素材 「値」シルク
と入力して、投稿やページを保存します。

このままでは何も表示されないので、
テーマに手を入れます。
管理画面>テーマ編集>ページテンプレートの
WordPressループ」の中に

<ul>
<li><?php echo get_post_meta($post->ID,’色’,true); ?></li>
<li><?php echo get_post_meta($post->ID,’サイズ’,true); ?></li>
<li><?php echo get_post_meta($post->ID,’素材’,true); ?></li>
</ul>

という記述をします。
Wordpressループとは簡単にいうと以下の記述です。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
と、
<?php endwhile; else: ?>
<p><?php _e(‘Sorry, no posts matched your criteria.’); ?></p>
<?php endif; ?>
の間です。(<?php endwhile~以降、Sorry~のあたりはいろいろです)

すると、

  • シルク

と表示されます。
この方法のデメリットは、「値」の入力がなくても、空白の<li></li>が表示されてしまう点でしょうか。

*****

また、Wordpressループの中に、

<?php the_meta(); ?>

と記述すると、「名前」:「値」が全部表示されます。
ただし
  • サイズ: M
  • 色: 赤
  • 素材: シルク
とか
  • 素材: シルク
  • サイズ: M
  • 色: 赤
とかいう風に、表示順序は指定できないので、ちょっと使いづらいです。

Write a comment