sinklar
  • 0
Новичок

Использование значений метабокса WPAlchemy в другом метабоксе

  • 0

Я создаю довольно сложную структуру пользовательского типа сообщений, и мне нужна помощь в отношении моих метабоксов.

Что я хочу сделать:

  1. Благодаря have_fields_and_multi() функции пользователь вводит данные в простые текстовые поля ввода (с помощью кнопки «Добавить новый»)
  2. Значения из предыдущих текстовых вводов следует использовать для создания select раскрывающегося списка в другом метабоксе.

Для простоты вот макет (также прикрепленный к этому сообщению): http://idzr.org/0c95

У меня первая часть работает, это легко. Но я не могу понять, как заставить вторую часть работать. Если я использую a while($mb->have_fields_and_multi('aaa')) в другом while($mb->have_fields_and_multi('bbb')), страница бесконечна (цикл не заканчивается. Если я использую foreach, у меня другие проблемы.

У вас есть идея о том, как я могу достичь этого? Спасибо!!!

Share
  1. Ссылка не работает. Вы также можете загружать изображения напрямую сюда.

    • 0
  2. Хорошо, мне наконец удалось решить это самостоятельно. Это возможно благодаря:

    1. Создайте первое поле:

      <?php
          while($mb->have_fields_and_multi('types')):
          $mb->the_group_open();
          $mb->the_field('type');
      ?>
      <input type="text" id="<?php $mb->the_name(); ?>" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>" />
      <a href="#" class="dodelete button">Remove</a>
      <?php
          $mb->the_group_close();
          endwhile;
      ?>
      <a href="#" class="docopy-types button" style="float: left">Add new</a>
      <a href="#" class="dodelete-types button" style="float: right">Delete all</a>
      
    2. Создайте вторую группу полей при использовании foreach для получения данных из первых полей и поместите их в select :

      <?php
          while($mb->have_fields_and_multi('details')):
          $mb->the_group_open();
          $mb->the_field('detail_select');
      ?>
      <select name="<?php $mb->the_name(); ?>">
          <option value="">Choose...</option>
          <?php foreach ($meta['types'] as $types) { ?>
          <option value="<?php echo $types['type']; ?>"<?php $mb->the_select_state($types['type']); ?>><?php echo $types['type']; ?></option>
          <?php } ?>
      </select>
      <?php $mb->the_field('detail_title'); ?>
      <label>Description</label>
      <input type="text" id="<?php $mb->the_name(); ?>" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>" /><br />
      <a href="#" class="dodelete button">Remove</a>
      <?php
          $mb->the_group_close();
          endwhile;
      ?>
      <a href="#" class="docopy-estate_details button">Add new</a>
      <a href="#" class="dodelete-estate_details button">Delete all</a>
      
    • 0

Оставить ответ

You must login to add an answer.