カスタムフィールドの正しい使い方
-
現在固定ページでページを作成しております。
・作りたいページの仕様としては..
1)タイトル、2)記事、3)画像 を1ページ内に3つずつ載せて作成していたのですが、
今までは記事フォームにhtmlで作成していたのですが、記事件数が多いため、
カスタムフィールドを活用して、記事はcsvで登録をしたいと考えています。タイトルと記事を入力するカスタムフィールドを登録する時に行った時の方法として、
ある1つの固定ページで、カスタムフィールドをタイトル、記事、画像を3つずつ作成してみました。
すると、選択する時には別の固定ページで、他の固定ページで作成したカスタムフィールドも引き継いで選択が来るのですが、修正は、作成した時に開いていた固定ページでしか修正が出来ないのですが、これはこういった仕様なのでしょうか?
それとも、どこかでまとめて設定したり、修正する方法があるのでしょうか?また、それぞれのタイトルにはhxタグを、記事にはpタグを付けたいのですが、このあたりのカスタマイズは存在するのでしょうか?
宜しくお願いいたします。
-
私は、プラグインに頼ってますが問題なくできてますよ。
Advanced Custom Fieldsを使ってます。
新規追加から、ルールを投稿タイプ≫固定ページに設定してあげ、後はフィールドをpage.phpなどに挿入してあげればできると思います。フィールドタイプテキストの場合
<h3><?php the_field("フィールド名"); ?><h3>
画像の場合
<img src="<?php $image = wp_get_attachment_image_src(get_post_meta($post->ID, 'フィールド名', true), 'full'); echo $image[0]; ?>" alt="" />
タグについては単純に関数の前後をタグで囲めばよいと思いますが、使い方を誤ると
<p><div>・・・・・・</div></p>
なんてことが起きてしまうので、改めてcustomfieldをしようするか、ビジュアルエディターは使わないなど工夫が必要です。<p><?php the_content(); ?></p>
又はテキストエリアで
<p><?php the_field("フィールド名"); ?></p>
お返事ありがとうございます。
Advanced Custom Fieldsに繰り返し機能が無料で付いた「Smart Custom Fields」を試しに使用し以下のように書いたのですが、表示されない感じでした。
ただ、冒頭に記述するphpなどの説明が作成者ページにも無いので困ってました。
Advanced Custom Fieldsのほうが説明がしっかりありそうですね。
因みに、上記のAdvanced Custom Fieldsでの場合、動作させるために他に記述はなにか必要でしょうか?<?php $size_name = SCF::get( '3段' ); foreach ( $size_name as $field_name => $field_value ) { ?> <div class="contnt-wrp"> <div class="contnt-inner"><img src="/keyword_lace.gif" alt="" width="960" height="12" /> <div class="keyword_con clearfix mb20"> <h2 class="keyword_con_title02"><?php the_field("1tit"); ?></h2> <p class="L mr15"><img src="<?php $image = wp_get_attachment_image_src(get_post_meta($post->ID, '1img', true), 'full'); echo $image[0]; ?>" alt="" width="270" height="249" /></p> <p class="R" style="overflow:hidden"><?php the_field("1txt"); ?></p> </div> <div class="keyword_con clearfix mb20"> <h2 class="keyword_con_title02"><?php the_field("2tit"); ?></h2> <p class="L mr15"><img src="<?php $image = wp_get_attachment_image_src(get_post_meta($post->ID, '2img', true), 'full'); echo $image[0]; ?>" alt="" width="270" height="249" /></p> <p class="R" style="overflow:hidden"><?php the_field("2txt"); ?></p> </div> <div class="keyword_con clearfix mb20"> <h2 class="keyword_con_title02"><?php the_field("3tit"); ?></h2> <p class="L mr15"><img src="<?php $image = wp_get_attachment_image_src(get_post_meta($post->ID, '3img', true), 'full'); echo $image[0]; ?>" alt="" width="270" height="249" /></p> <p class="R" style="overflow:hidden"><?php the_field("3txt"); ?></p> </div> </div>
tanshioさん
通常のフィールドであればAdvanced Custom Fields内の設定で行えば、記事などに出現します。
ソースは、出したい場所に「<?php the_field(“フィールド名”); ?>」を配置すればよいでけですよ。
<div class="contnt-wrp"> <div class="contnt-inner"> <img src="/keyword_lace.gif" alt="" width="960" height="12" /> <div class="keyword_con clearfix mb20"> <h2 class="keyword_con_title02"><?php the_field("1tit"); ?></h2> <p class="L mr15"><img src="<?php $image = wp_get_attachment_image_src(get_post_meta($post->ID, '1img', true), 'full'); echo $image[0]; ?>" alt="" width="270" height="249" /></p> <p class="R" style="overflow:hidden"><?php the_field("1txt"); ?></p> </div> <div class="keyword_con clearfix mb20"> <h2 class="keyword_con_title02"><?php the_field("2tit"); ?></h2> <p class="L mr15"><img src="<?php $image = wp_get_attachment_image_src(get_post_meta($post->ID, '2img', true), 'full'); echo $image[0]; ?>" alt="" width="270" height="249" /></p> <p class="R" style="overflow:hidden"><?php the_field("2txt"); ?></p> </div> <div class="keyword_con clearfix mb20"> <h2 class="keyword_con_title02"><?php the_field("3tit"); ?></h2> <p class="L mr15"><img src="<?php $image = wp_get_attachment_image_src(get_post_meta($post->ID, '3img', true), 'full'); echo $image[0]; ?>" alt="" width="270" height="249" /></p> <p class="R" style="overflow:hidden"><?php the_field("3txt"); ?></p> </div> </div><!-- END .contnt-inner --> </div><!-- END .contnt-wrp -->
次にAdvanced Custom Fields Proの場合+25ドル(オーストラリアドル)でループ等が可能になります。
私は、最近Pro版に乗り換えましたので結構便利なのでご参考までにフィールドタイプ:繰り返しフィールド
に設定すると、ページ内で繰り返しセットを作ることが可能になります。
その時は「<?php the_sub_field(“サブフィールド名”); ?>」を挿入してあげるとイイみたいです。<div class="contnt-wrp"> <div class="contnt-inner"> <img src="/keyword_lace.gif" alt="" width="960" height="12" /> <?php if ( get_field('カスタムフィールド(親)') ): ?> <?php while( has_sub_field('カスタムフィールド(親)') ): ?> <div class="keyword_con clearfix mb20"> <h2 class="keyword_con_title02"><?php the_sub_field("1tit"); ?></h2> <p class="L mr15"><img src="<?php $image = wp_get_attachment_image_src(get_sub_field( '1img' ), 'full'); echo $image[0]; ?>" alt="" width="270" height="249" /></p> <p class="R" style="overflow:hidden"><?php the_sub_field("1txt"); ?></p> </div> <?php endwhile; ?> <?php else : ?><?php endif; ?> </div> </div><!-- END .contnt-inner --> </div><!-- END .contnt-wrp -->
お返事遅くなってしまって、ごめんなさい。
詳しく説明いただきありがとうございます。
Advanced Custom Fields Proが良いようですね。
ループというのは、1ページ内にいくつもフィールドを作る場合の事でしょうか?
それがpro版でないと出来ないという事ですね。記載いただいた内容で一度試してみたいと思います。
ありがとうございます。Advanced Custom Fields Proはページ内に追加ボタンが出現し、追加することにより、カテゴリー的なループが可能です。
free版は、サブフィールドを作れないみたいですので
最初の時点で、指定フィールドがすべて出現している状態です。
例えば、1ループの中に3項目必要な場合
3項目が1セットとして追加されます。ちなみに、プロ版の種類で通常の1ドメインライセンス版と複数ドメイン可能なデペロッパー版があるみたいです。
プロ版は、フィールドの大きさの変更や日本語化完全対応など、それなりに使いやすいです。あくまで、わたしの感覚なんですけどね^^
ご参考にしてい頂ければ幸いです。繰り返し以外の機能も、いろいろあるみたいなので使ってみたいです。
>>ループというのは、1ページ内にいくつもフィールドを作る場合の事でしょうか?
ページ内の意味です。
表など作りたいとき、結構便利でした。
- トピック「カスタムフィールドの正しい使い方」には新たに返信することはできません。