Advanced Custom Fieldsでrepeater毎にIDを出力したい
-
WordPressのプラグイン「Advanced Custom Fields」についての質問です。
アドオンの「Repeater Field」を利用しています。リピーターのかたまりごとに異なるIDをふる方法を、ご存知でしたらご教授いただけないでしょうか。
具体的に例をあげさせていただきます。
URLとテキストを入力できるようにしていて、
それらを1セットとして、任意の数だけ追加していけるような投稿画面を作ります。・フィールドタイプ:Repeater フィールド名:repeater_list
・フィールドタイプ:テキストエリア フィールド名:url
・フィールドタイプ:テキストエリア フィールド名:text
とします。【出力】
<ul> <?php while(the_repeater_field('repeater_list')): ?> <li><a href="<?php the_sub_field('url'); ?>"><?php the_sub_field('text'); ?></a></li> <?php endwhile; ?> </ul>
とすると、HTMLは下記のように吐き出されます。
<ul> <li><a href="http://www.yahoo.co.jp/">あいうえお</a></li> <li><a href="https://www.google.co.jp/">かきくけこ</a></li> <li><a href="https://www.youtube.com/">さしすせそ</a></li> <li><a href="http://www.amazon.co.jp/">たちつてと</a></li> </ul>
これを
<ul> <li id="contents_1"><a href="http://www.yahoo.co.jp/">あいうえお</a> <li id="contents_2"><a href="https://www.google.co.jp/">かきくけこ</a> <li id="contents_3"><a href="https://www.youtube.com/">さしすせそ</a> <li id="contents_4"><a href="http://www.amazon.co.jp/">たちつてと</a> </ul>
のようにリピーターごとに固有のIDを付与する事はできますでしょうか。
あまりスマートではありませんが<ul> <li><div id="contents_1"><a href="http://www.yahoo.co.jp/">あいうえお</a></div></li> <li><div id="contents_2"><a href="https://www.google.co.jp/">かきくけこ</a></div></li> <li><div id="contents_3"><a href="https://www.youtube.com/">さしすせそ</a></div></li> <li><div id="contents_4"><a href="http://www.amazon.co.jp/">たちつてと</a></div></li> </ul>
でもかまいません。
<ul> <?php while(the_repeater_field('repeater_list')): ?> <li id="contents_<?php the_field('repeater_list'); ?>"><a href="<?php the_sub_field('url'); ?>"><?php the_sub_field('text'); ?></a></li> <?php endwhile; ?> </ul>
としてもダメでした。
IDは連番になっていなくても良いです。
数字無しで英語のみでもOKです。
リピーター項目が削除された場合、IDは再利用される事なく、一度付けられたIDは変更されないものとしたいです。jQueryでIDを連番でふることはできたのですが、
リピーター項目が削除されてしまうとIDも繰り上がってしまうため都合が悪いです。項目が削除された場合
<ul> <li id="contents_1"><a href="http://www.yahoo.co.jp/">あいうえお</a> <li id="contents_2"><a href="https://www.google.co.jp/">かきくけこ</a> <li id="contents_3"><a href="http://www.amazon.co.jp/">たちつてと</a> </ul>
ではなく
<ul> <li id="contents_1"><a href="http://www.yahoo.co.jp/">あいうえお</a> <li id="contents_2"><a href="https://www.google.co.jp/">かきくけこ</a> <li id="contents_4"><a href="http://www.amazon.co.jp/">たちつてと</a> </ul>
としたいです。
よろしくお願いします。
- トピック「Advanced Custom Fieldsでrepeater毎にIDを出力したい」には新たに返信することはできません。