猿问

Woocommerce 产品/类别循环问题

我安装了最新的 Woocommerce 和最新的 Wordpress。我已经安装了网格/列表切换。我的问题从这里开始。因为它将所有类别和产品更改为列表视图

我想要网格视图中的类别

和列表视图中的产品。

所以我搜索并发现类别和产品在 template/loop/loop-start.php 上使用相同的开始和结束循环“>

可以在那里更改它,但随后它会将所有内容更改为该类。

现在我的解决方案是向此页面添加条件标签

但这有点问题。见代码

<?php

/**

 * Product Loop Start

 *

 * This template can be overridden by copying it to yourtheme/woocommerce/loop/loop-start.php.

 *

 * HOWEVER, on occasion WooCommerce will need to update template files and you

 * (the theme developer) will need to copy the new files to your theme to

 * maintain compatibility. We try to do this as little as possible, but it does

 * happen. When this occurs the version of the template file will be bumped and

 * the readme will list any important changes.

 *

 * @see         https://docs.woocommerce.com/document/template-structure/

 * @package     WooCommerce/Templates

 * @version     3.3.0

 */


if ( ! defined( 'ABSPATH' ) ) {

    exit;

}

?>

<?php 

if ( is_product_category() ) {


  if ( is_shop() ) {

    echo '<ul class="product-category1">';

  } elseif ( is_product_category( array( 'cd', 'album' ) )) {

    echo '<ul class="product-category2">';

  } else {

    echo '<ul class="products columns-' .esc_attr( wc_get_loop_prop( 'columns' ) );.' ">';

  }


} ?>


<!--<ul class="products columns-<?php //echo esc_attr( wc_get_loop_prop( 'columns' ) ); ?>" id="HELP">-->

现在上面的代码有点像 if_shop 语句不起作用,但是 is_product_category 工作得很好,else 语句也不起作用


有人可以为此指出正确的方向吗,几周来一直在寻找答案,但由于 Woocommerce 更改了很多代码,所以没有任何答案或太旧而无法使用。


翻阅古今
浏览 130回答 1
1回答

白板的微信

请记住将 woocommerce/template/loop/loop-start.php 和 loop-end.php 复制到你的 theme/woocommerce/loop/loop-start.php 和 loop-end.php循环/loop-start.php/*This is the main cat on homepage or shop page*/if (is_shop()|| is_front_page()) {/*this can be any thing you want it to be <ul><div>*/echo '<div class="yourclass">';} /*this should be your sub categories 1 level down*/else if ( is_product_category(array('cat1', 'cat2','cat3', 'cat4', 'cat5'))){/*this can be any thing you want it to be <ul><div>*/echo '<div class="yourclass">';}/*this should be your sub categories 2 level down*/ else if ( is_product_category(array('subcat1','subcat2'))){echo '<ul class="products" id="NORMAL">';}然后在loop-end.php/*This is the main cat on homepage or shop page*/    if (is_shop()|| is_front_page()) {    /*this can be any thing you want it to be <ul><div>*/    echo '</div>';    }     /*this should be your sub categories 1 level down*/    else if ( is_product_category(array('cat1', 'cat2','cat3', 'cat4', 'cat5'))){    /*this can be any thing you want it to be <ul><div>*/    echo '</div>';    }    /*this should be your sub categories 2 level down*/     else if ( is_product_category(array('subcat1','subcat2'))){    echo '</ul>';    }应该有更好的方法来做到这一点,但对我来说,这是我所能做的。
随时随地看视频慕课网APP
我要回答