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