カスタムフィールドで複数の価を登録して、ループで表示させたい
-
こんにちは。
現在、MacのMAMP内で、ブログ以外のページもあるHTMLサイトをwordpress化しようとしています。カスタム投稿の中で、スライドショーで表示される画像ギャラリーを埋め込もうとしています。
カスタムフィールドに画像のURLを登録しておいて、imgタグのsrc=””に表示されるようにしたいと考えています。以下、現在表示がうまくいっているスライドショー部分のコードです。(slideshow.jsというjsファイルで、divの画像が順番に表示され、liタグの●アイコンを押すと切り替わる構造です。)
——————————————————————————
【single-work.php】<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); /* ループ開始 */ ?> <div id="works"> <div id="slideshow"> <div> <div><img width="550" height="490" src="<?php echo get_post_meta($post->ID,'image01',true);?>" alt=""></div> <div><img width="550" height="490" src="<?php echo get_post_meta($post->ID,'image02',true);?>" alt=""></div> <div><img width="550" height="490" src="<?php echo get_post_meta($post->ID,'image03',true);?>" alt=""></div> </div> <ul> <li><img width="10" height="9" src="<?php bloginfo('template_directory');?>/images/works/btn_switch_off.png" alt=""></li> <li><img width="10" height="9" src="<?php bloginfo('template_directory');?>/images/works/btn_switch_off.png" alt=""></li> <li><img width="10" height="9" src="<?php bloginfo('template_directory');?>/images/works/btn_switch_off.png" alt=""></li> </ul> </div><!--#slideshow--> (中略) </div><!--#works--> <?php endwhile; ?> <?php else : ?>_________
| |
| 画像 | ←divタグ
| |
_________
●○○○ ←liタグ【カスタムフィールド】
名前:image01 値 : http://サイトURL/wp-content/uploads/2012/10/image_01.jpg
名前:image02 値 : http://サイトURL/wp-content/uploads/2012/10/image_02.jpg
名前:image03 値 : http://サイトURL/wp-content/uploads/2012/10/image_03.jpg——————————————————————————
しかし、これでは画像数固定でしか対応できません。
画像の数がいくつ登録されていてもひとつのテンプレートで表示されるようにしたいと考えています。<やりたいこと>
【カスタムフィールド】
名前:images 値 : http://サイトURL/wp-content/uploads/2012/10/image_01.jpg
名前:images 値 : http://サイトURL/wp-content/uploads/2012/10/image_02.jpg
名前:images 値 : http://サイトURL/wp-content/uploads/2012/10/image_03.jpg(1)
<div><img width="550" height="490" src="<?php echo get_post_meta($post->ID,'image01',true);?>" alt=""></div>
をループに入れて、カスタムフィールドの価を配列で取得してsrc=””の部分に表示されるようにしたい。(2)
<li><img width="10" height="9" src="<?php bloginfo('template_directory');?>/images/works/btn_switch_off.png" alt=""></li>
の部分もループにして、画像の個数分出力されるようにしたいやりたいことと全く同じ事例が見つからず、似た事例をアレンジして試そうとしても途中でエラーが出て、行き詰まってしまいました。(ループをきちんと理解できていないのも要因だと思います…)
もし、構造自体に無理があるようなら、画像の数ごとに別のテンプレートファイルにしてしまおうかとも考えています。
どなたか、良い方法をご教授いただけますと幸いです。
よろしくお願いいたします。
トピック「カスタムフィールドで複数の価を登録して、ループで表示させたい」には新たに返信することはできません。