我想检索数组数据并按顺序发布,我在循环中

时间:2016-11-08 10:43:00

标签: php arrays wordpress loops woocommerce

我有一个在woocommerce / wordpress上运行的结账,我需要能够在结账审查页面上将购物篮的内容输出到3个输入表单字段中。

我有一个循环,它获取产品名称,创建一个输入框并在输入字段中输入产品名称。

    foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) {
        $_product = apply_filters('woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key);
        if ($_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters('woocommerce_checkout_cart_item_visible', true, $cart_item, $cart_item_key)) {
            ?>
            <?php $productname = $_product->get_title(); ?>
            <input type="text" id=" " name="" value="<?php echo $productname; ?>" maxlength="100"/>
        <?php }
    }

但我需要创建这些输入字段以具有特定的ID,您只能通过此站点订购不再有3个产品,因此我有3个ID要分配给这些领域。我创建了一个ID为

的数组
$inputid = array ("powf_9c859612fda4e61180eb5065f38aea21", "powf_b496ed1efda4e61180eb5065f38aea21", "powf_1625303afda4e61180eb5065f38aea21");

我在这里苦苦挣扎的是将ID输入到输出的html输入字段中。因此,当它们被创建时,标记看起来应该是这样的:

<input type="text" id="powf_9c859612fda4e61180eb5065f38aea21" name="" value="Product Name 1" maxlength="100"/>

<input type="text" id="powf_b496ed1efda4e61180eb5065f38aea21" name="" value="Product Name 2" maxlength="100"/>

<input type="text" id="powf_1625303afda4e61180eb5065f38aea21" name="" value="Product Name 3" maxlength="100"/>

显然,如果某人在他们的篮子中只有1或2个项目,那么它应该仍然只能创建必要的字段。

任何帮助都会非常感谢,我已经坚持了很长时间!

1 个答案:

答案 0 :(得分:0)

我设法通过以不同的方式接近它来实现这一点。

我没有让数组处理我的表单ID和处理我的产品名称的循环,而是移除了原始ID数组并使用我的循环创建数组并在每个循环中将产品添加到该数组中。

然后我只是让我的输入字段回显出0,1和2的数组结果。

像这样:

foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) {
                $_product = apply_filters('woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key);
                if ($_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters('woocommerce_checkout_cart_item_visible', true, $cart_item, $cart_item_key)) {
                    ?>
                    <?php $productname = $_product->get_title(); ?>
                    <?php $array[] = $productname; ?>
                <?php }
            }

<input type="text" id="powf_9c859612fda4e61180eb5065f38aea21" name="powf_9c859612fda4e61180eb5065f38aea21" value="<?php echo $array[0]; ?>" maxlength="100" />