Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 显示具有父级的WooCommerce产品子类别_Wordpress_Woocommerce_Customization - Fatal编程技术网

Wordpress 显示具有父级的WooCommerce产品子类别

Wordpress 显示具有父级的WooCommerce产品子类别,wordpress,woocommerce,customization,Wordpress,Woocommerce,Customization,我正在WoodPress 4.6.1上设置Woocommerce 2.6.7 我在电子商务设置/产品显示中的设置: “店铺页面显示”=“显示类别” “默认类别显示”=“显示子类别” 我的目标是使Shop页面和显示子类别的页面都具有布局,以显示3列,如屏幕截图: 要使页面实际显示属于某个类别或子类别的产品,请在一列中显示。我不熟悉堆栈溢出,所以它不会让我发布超过2张图片,但是如果你看到下一张图片,你就会明白了 通过一些CSS和我在Woocommerce文档中找到的代码片段,我成功地以我想要的方式

我正在WoodPress 4.6.1上设置Woocommerce 2.6.7

我在电子商务设置/产品显示中的设置:

“店铺页面显示”=“显示类别”
“默认类别显示”=“显示子类别”

我的目标是使Shop页面和显示子类别的页面都具有布局,以显示3列,如屏幕截图:

要使页面实际显示属于某个类别或子类别的产品,请在一列中显示。我不熟悉堆栈溢出,所以它不会让我发布超过2张图片,但是如果你看到下一张图片,你就会明白了

通过一些CSS和我在Woocommerce文档中找到的代码片段,我成功地以我想要的方式显示了属于某个类别的产品

  add_filter('loop_shop_columns', 'loop_columns');
    if (!function_exists('loop_columns')) {
    function loop_columns() {
    if ( is_product_category() || is_product_tag() ) {
    return 1;
    } 
    // for other archive pages and shop page
    else { 
    return 3;
    }}}
但现在我在一列中也显示了子类别,如下所示:

如何使此页面显示为3列(如在商店页面上),而不影响产品的1列显示

本质上,由于我已经通过Woocommerce产品显示设置以我想要的方式显示了商店,我想我需要一种方法来只针对具有父类的子类别,并让它们以3列显示


欢迎提出任何想法或建议。

经过一些尝试和错误,我发现并修改了在以下位置找到的代码:

最困难的事情是获取进入functions.php的代码。 剩下的只是CSS

这是为了我的目的:

function ym_are_there_subcategories() {
global $wp_query;

$current_page = get_queried_object();
$children = get_term_children( $current_page->term_id, 'product_cat' );

return ( empty( $children ) ? false : true);
}


add_filter( 'loop_shop_columns', 'loop_columns' );
if ( ! function_exists( 'loop_columns' ) ) {
function loop_columns() {

if ( is_shop() || ym_are_there_subcategories()  ) {

return 3; 
} else {
return 1; 
} // end if subcats
} // end loop_columns()
} // end if function_exists
我希望其他人觉得它有用。有好几天,这让我很困惑

显示子类别的页面现在如下所示: