Woocommerce:每第n个产品新排

时间:2014-04-15 20:02:26

标签: php wordpress woocommerce

我一直在寻找互联网,但我无法找到解决方案。我正在尝试编辑显示产品的文件(在名为content-product.php的主题文件中)。我想要的是每四个产品的新行。我不是一个好的程序员,谷歌通常会帮助我,但这是我找不到的。有人有任何见解吗?这是一些代码,也许任何人都可以解释一下:)

<div class="large-3 columns">
<div <?php post_class( $classes ); ?>>

<?php do_action( 'woocommerce_before_shop_loop_item' ); ?>

<a href="<?php the_permalink(); ?>">

<?php
/**
* woocommerce_before_shop_loop_item_title hook
*
* @hooked woocommerce_show_product_loop_sale_flash - 10
* @hooked woocommerce_template_loop_product_thumbnail - 10
*/
do_action( 'woocommerce_before_shop_loop_item_title' );
?>

<h3><?php the_title(); ?></h3>

<?php
/**
* woocommerce_after_shop_loop_item_title hook
*
* @hooked woocommerce_template_loop_rating - 5
* @hooked woocommerce_template_loop_price - 10
*/
do_action( 'woocommerce_after_shop_loop_item_title' );
?>

</a>

<?php do_action( 'woocommerce_after_shop_loop_item' ); ?>

</div>
</div>

3 个答案:

答案 0 :(得分:1)

这可以通过多种方式完成:

  • 将其添加到functions.php文件

    // Change number or products per row to 3
    add_filter('loop_shop_columns', 'loop_columns');
    if (!function_exists('loop_columns')) {
    function loop_columns() {
        return 4; // 4 products per row
    }
    }
    

  • woocommerce/templates/content-product.php文件中更改以下行:

    $woocommerce_loop['columns'] = apply_filters( 'loop_shop_columns', X* );
    

    (*其中X是已存在的值。)

    $woocommerce_loop['columns'] = apply_filters( 'loop_shop_columns', 4 );

  • 安装并激活this插件。然后去Woocommerce - &gt;产品,向下滚动到Product Columns标题并将金额更改为4.

enter image description here

答案 1 :(得分:1)

$classes = array();
if ( 0 == ( $woocommerce_loop['loop'] - 1 ) % $woocommerce_loop['columns'] || 1 == $woocommerce_loop['columns'] )
    $classes[] = 'first';
if ( 0 == $woocommerce_loop['loop'] % $woocommerce_loop['columns'] )
    $classes[] = 'last';
if ( 0 == ( $woocommerce_loop['loop'] - 1 ) % 4 )
        echo '<div class="row">';
?>
<div class="large-3 medium-3 small-3 columns product-col">
    <div <?php post_class( $classes ); ?>>

        <?php do_action( 'woocommerce_before_shop_loop_item' ); ?>

        <a href="<?php the_permalink(); ?>">

            <?php
                /**
                 * woocommerce_before_shop_loop_item_title hook
                 *
                 * @hooked woocommerce_show_product_loop_sale_flash - 10
                 * @hooked woocommerce_template_loop_product_thumbnail - 10
                 */
                do_action( 'woocommerce_before_shop_loop_item_title' );
            ?>

            <h5><?php the_title(); ?></h5>

            <?php
                /**
                 * woocommerce_after_shop_loop_item_title hook
                 *
                 * @hooked woocommerce_template_loop_rating - 5
                 * @hooked woocommerce_template_loop_price - 10
                 */
                do_action( 'woocommerce_after_shop_loop_item_title' );
            ?>
            <div style="min-height: 40px;" class="headspace">
            </div>
        </a>

        <?php do_action( 'woocommerce_after_shop_loop_item' ); ?>

    </div>
</div>
<?php
if ( 0 == $woocommerce_loop['loop'] % 4 )
        echo '</div>';
?>

答案 2 :(得分:0)

现在默认情况下连续4行,所以如果不是那么主题的风格和/或设置会影响产品档案。

来自content-product.php

apply_filters( 'loop_shop_columns', 4 );

要调整列数,您可以从主题的functions.php

中过滤它
function kia_product_columns(){
     return 6;
}
add_filter( 'loop_shop_columns', 'kia_product_columns' );

请记住,您的CSS也必须相应更改。如果你想显示4列,但你的CSS是3列...第4个产品永远不会出现在同一行。