在两个容器中并排列出woocommerce产品

时间:2018-07-19 19:07:46

标签: php wordpress woocommerce

我编写了此PHP代码,以按特定类别列出woocommerce产品。我的页面上现在有两个div容器,我希望每个容器一个个地获得这些产品。该代码按应将所有产品列出到container1中。但是我一直坚持修改代码,以使每个容器的产品并排列出。如果我的问题不清楚,这就是我的意思。

此代码的作用

container1        container2

product1          empty
product2
product3
product4

我想做的就是这个

container1        container2

product1          product2
product3          product4

代码为

<?php

$args = array( 'category' => array( 'shirts' ), );

$productlist = wc_get_products( $args );

// List products for container one

echo '<div class="container1>'

echo '<ul class="product-list-wrap">';

// loop through the product list
foreach ($productlist as $product) {

$productid = $product->get_id(); // get individual product id
$custom_field = get_field( 'custom_field', $productid ); // get the custom field

echo '<a href="'.$product->get_permalink().'">
<li class="product-name">'.$product->get_title().'<span class="custom">'.$custom_field.'</span>'.'</li>
</a>';
}

echo '</ul>';

echo '</div>';

// List products for container two

echo '<div class="container2>'

echo '<ul class="product-list-wrap">';

content

echo '</ul>';

echo '</div>';

?>

HTML输出

<div class="container1">

    <ul class="product-list-wrap">

        <a href="http://localhost/project1/product/product-1/">
        <li class="product-name">Product 1<span class="custom">custom output</span></li>
        </a>

        <a href="http://localhost/project1/product/product-2/">
        <li class="product-name">Product 1<span class="custom">custom output</span></li>
        </a>

        <a href="http://localhost/project1/product/product-3/">
        <li class="product-name">Product 1<span class="custom">custom output</span></li>
        </a>

        <a href="http://localhost/project1/product/product-4/">
        <li class="product-name">Product 1<span class="custom">custom output</span></li>
        </a>

    </ul>                            

</div>

<div class="container2">

    <ul class="product-list-wrap">

    content

    </ul>

</div>

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

$productList1 = array();
$productList2 = array();

foreach( $productlist as $key=>$product ) {
    if( $key % 2 == 0 ) {
        // even key (0, 2, 4, ...)
        array_push( $productList1, $product );
    }
    else {
        // odd key (1, 3, 5, ...)
        array_push( $productList2, $product );
    }
}

然后在第一个容器循环中使用$ productList1,在第二个容器循环中使用$ productList2。

答案 1 :(得分:1)

FROM loccodeofchats hatser