私は非常に複雑なカスタム投稿タイプ構造を構築しています、そして私は私のメタボックスに関していくらかの助けを必要とするでしょう。
私がやりたいこと:
have_fields_and_multi()
関数に感謝します。ユーザーは単純なテキスト入力フィールドにデータを入力します(「新規追加」ボタンを使用)。select
ドロップダウンを構築するために使用されるべきです。それを簡単にするために、ここにモックアップがあります(これもこの記事に添付されています): http://idzr.org/0c95
最初の部分はうまくいきました、簡単です。しかし、2番目の部分を機能させる方法はわかりません。別のwhile($mb->have_fields_and_multi('aaa'))
でwhile($mb->have_fields_and_multi('bbb'))
を使用した場合、ページは無限になります(ループは終了しません。foreach
を使用した場合、他の問題が発生します。
私がこれを達成する方法についての考えがありますか?ありがとうございます。
さて、私はついに自分でそれを解決することができました。それはのおかげで可能です:
最初のフィールドを作成します。
<?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>
foreach
を使用して最初のフィールドからデータを取得し、それをselect
に入れる間に、2番目のフィールドのバッチを作成します。
<?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>