数量ボックスを表示し、製品名を含む非表示フィールドを含むループが下にあります。
これらを結び付けて、100個の入力のうちユーザーが入力90の量を変更した場合、非表示フィールドの入力90をそれに結び付けたいと思います。
これにより、ゼロを超えるアイテムの数量と製品名がわかります。
<?php if(get_field('sizes')) {
while(the_repeater_field('sizes')) { ?>
<input type="text" name="quantity[]" value="0"> <?php the_title(); ?>
<input type="hidden" name="product[]" value="<?php the_title(); ?>">
<?php } } ?>
これら2つを結び付けて、次のようにエコーしたいと思います。
- 1x製品1
- 10x製品3
- 20x製品8
数量がゼロより大きい場合にのみ、数量と製品名を出力するにはどうすればよいですか?
これは実際に使用されるコードです。
<?php if(get_field('sizes')) { ?>
<?php while(the_repeater_field('sizes')) { ?>
<tr>
<td width="150"><p><?php echo the_sub_field('size'); ?></p></td>
<td width="30" align="right">
<p>
<input type="text" class="quantity" name="quantity[]" style="width:15px;text-align:center!IMPORTANT;margin-left:10px;" value="0">
<input type="hidden" class="productinput" name="product[]" value="<?php echo the_title(); ?> - <?php echo the_sub_field('size'); ?>"></td>
</p>
</td>
</tr>
<?php } ?>
<?php } else { ?>
<tr>
<td width="150"><p>Quantity</p></td>
<td width="30" align="right">
<p>
<input type="text" class="quantity" name="quantity[]" style="width:15px;text-align:center!IMPORTANT;margin-left:10px;" value="0"><?php echo the_sub_field('size'); ?>
<input type="hidden" class="productinput" name="product[]" value="<?php echo the_title(); ?>">
</p>
</td>
</tr>
<?php } ?>
これにより、電子メールで出力できるようにコードが作成されます。
$quantities = array_combine($_POST['product'], $_POST['quantity']);
foreach ($quantities as $product => $quantity) {
if ($quantity > 0) {
$productresults = "$quantity x $product";
}
}
これは私が取り組んでいるページです。「見積もりを取得」をクリックすると、2番目のステップは上記のコードです。
@ Sn0opy
foreach($_POST['quantity'] as $check) {
if($check > 0) {
$quantityresults .= $check."\n";
}
}
echo $quantityresults;