サポート » プラグイン » 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を出力したい」には新たに返信することはできません。