在档案类别页面和单个产品页面上显示类别菜单
Displaying category menus on archives category pages and single product pages
我的 WooCommerce 商店有两个主要类别:
cat1
- subcat1
- subcat2
和
cat2
- subcatA
- subcatB
我做了这两个分店的菜单,它们显示在类别上
页。为了便于导航,我还想在单个产品页面上显示它们。
我的代码(位于woocommerce.php)是:
<?php
if ( is_tax( 'product_cat', array(14,18,19,20,21,22,23,24)) OR is_single() ) {
wp_nav_menu( array( 'theme_location' => 'cat1' ) );
}
elseif ( is_tax( 'product_cat', array(15,16,17,20)) OR is_single() ) {
wp_nav_menu( array( 'theme_location' => 'cat2' ) );
}
?>
这适用于类别页面,但不适用于单个产品页面。
如何分配cat1和cat2的所有单品并展示
分配的菜单?
谢谢
条件标记 is_tax()
检查是否正在显示 自定义分类归档页面 。因此,如您所见,不适用于单个产品页面。
您应该使用 has_term()
条件函数,它将以类似的方式用于您的单个产品页面。
所以您的代码将是:
<?php
$cats1 = array(14,18,19,20,21,22,23,24);
$cats2 = array(15,16,17,20);
$tax = 'product_cat';
if ( is_tax( $tax, $cats1 ) || has_term( $cats1, $tax ) )
wp_nav_menu( array( 'theme_location' => 'cat1' ) );
elseif ( is_tax( $tax, $cats2 ) || has_term( $cats2, $tax ) )
wp_nav_menu( array( 'theme_location' => 'cat2' ) );
?>
对于单个产品页面和档案页面,这应该可以正常工作。
我的 WooCommerce 商店有两个主要类别:
cat1
- subcat1
- subcat2
和
cat2
- subcatA
- subcatB
我做了这两个分店的菜单,它们显示在类别上 页。为了便于导航,我还想在单个产品页面上显示它们。
我的代码(位于woocommerce.php)是:
<?php
if ( is_tax( 'product_cat', array(14,18,19,20,21,22,23,24)) OR is_single() ) {
wp_nav_menu( array( 'theme_location' => 'cat1' ) );
}
elseif ( is_tax( 'product_cat', array(15,16,17,20)) OR is_single() ) {
wp_nav_menu( array( 'theme_location' => 'cat2' ) );
}
?>
这适用于类别页面,但不适用于单个产品页面。
如何分配cat1和cat2的所有单品并展示 分配的菜单?
谢谢
条件标记 is_tax()
检查是否正在显示 自定义分类归档页面 。因此,如您所见,不适用于单个产品页面。
您应该使用 has_term()
条件函数,它将以类似的方式用于您的单个产品页面。
所以您的代码将是:
<?php
$cats1 = array(14,18,19,20,21,22,23,24);
$cats2 = array(15,16,17,20);
$tax = 'product_cat';
if ( is_tax( $tax, $cats1 ) || has_term( $cats1, $tax ) )
wp_nav_menu( array( 'theme_location' => 'cat1' ) );
elseif ( is_tax( $tax, $cats2 ) || has_term( $cats2, $tax ) )
wp_nav_menu( array( 'theme_location' => 'cat2' ) );
?>
对于单个产品页面和档案页面,这应该可以正常工作。