WP Alchemy:试图回应索引

时间:2012-04-21 05:46:52

标签: php wordpress

我正在尝试向用户显示他们所在幻灯片的当前索引。使用WP Alchemy,我可以获得所有标签和输入,以正确显示其名称和值。但是,在尝试使用the_index()时,在添加2张以上的幻灯片后,我无法获得正确的回显索引。

我删除了所有的javascript,以确保它不会与jQuery的.sortable()冲突。在第二张幻灯片之后,标签或输入之外的所有名称和索引都是:_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>

1 个答案:

答案 0 :(得分:0)

对于你们中的任何人都不知道,WP Alchemy不会这样做。您可以将字段标识符添加到元素的名称,类,id或值属性中。当回显索引时,它前面需要一个“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 ?>