0

ユーザーがいるスライドの現在のインデックスをユーザーに表示しようとしています。WP Alchemy を使用すると、すべてのラベルと入力を取得して、名前と値を正しく表示できます。ただし、 を使用しようとするとthe_index()、2 つ以上のスライドを追加した後、正しいインデックスをエコーすることができません。

すべての JavaScript を削除して、jQuery の.sortable(). 2 番目のスライドの後、ラベルまたは入力の外側にあるすべての名前とインデックスは:_homepage_slider[slides_2][1][handle]または1です。何かする必要がありますか、それとも入力とラベルでのみ機能しますか?

<?php global $wpalchemy_media_access; ?>
<div class="my_meta_control">

    <?php while($mb->have_fields_and_multi('slides_2')): ?>
    <?php $mb->the_group_open(); ?>
    <table class="meta-field sortable table" cellspacing="0">
        <tr>
            <td width="30" class="handle"><?php $mb->the_index() //Only echoes '1' after the second iteration ?></td>
            <td width="280" class="imagefield">
                <?php $mb->the_field('imgurl'); ?>
                <?php $wpalchemy_media_access->setGroupName('img-n'. $mb->get_the_index())->setInsertButtonLabel('Insert'); ?>

                <img data-image="mediafield-img-n<?php $mb->the_index() ?>" src="<?php bloginfo('template_url') ?>/framework/images/cm-no-image.jpg" />

                <div class="media-field-input hide">
                <?php echo $wpalchemy_media_access->getField(array('name' => $mb->get_the_name(), 'value' => $mb->get_the_value())); ?>
                </div>

                <div class="add-media-btn">
                <?php echo $wpalchemy_media_access->getButton(); ?>
                </div>
            </td>

            <td class="last-col">
                <?php $mb->the_field('title'); ?>
                <label for="<?php $mb->the_name(); ?>">Title</label>
                <div><input type="text" id="<?php $mb->the_name(); ?>" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>"/></div>

                <?php $mb->the_field('handle'); ?>
                <p>Name: <?php $mb->the_name(); //Only echoes _homepage_slider[slides_2][1][handle] after second iteration ?></p>
                <p>Index: <?php $mb->the_index(); //Only echoes '1' after second iteration ?></p>

                <a href="#" class="dodelete x-btn">Remove Slide</a>
            </td>

        </tr>
    </table><!-- /.meta-field -->
    <?php $mb->the_group_close(); ?>
    <?php endwhile; ?>

    <p style="margin-bottom:15px; padding-top:5px;"><a href="#" class="docopy-slides_2 button">Add</a></p>

</div>
4

1 に答える 1

0

疑問に思っている方のために説明すると、WP Alchemy はこのようには機能しません。要素の name、class、id、または value 属性にフィールド識別子を追加できます。インデックスをエコーするときは、その前に「n」が必要です。

例えば:

<?php $mb->the_field('handle'); ?>
<input type="hidden" class="anything-i-want-n<?php $mb->the_index() //This will work ?>" name="<?php $name = $mb->get_the_name() ?>" />
<?php echo $mb->the_index() //This will not ?>
于 2012-04-21T13:48:29.307 に答える