Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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
Php 在归档类别页面和单个产品页面上显示类别菜单_Php_Wordpress_Woocommerce_Categories_Product - Fatal编程技术网

Php 在归档类别页面和单个产品页面上显示类别菜单

Php 在归档类别页面和单个产品页面上显示类别菜单,php,wordpress,woocommerce,categories,product,Php,Wordpress,Woocommerce,Categories,Product,我的WooCommerce商店有两大类: cat1 - subcat1 - subcat2 及 我制作了这两个分支的菜单,它们显示在类别上 页。为了便于导航,我还想在单个产品页面上显示它们 我的代码(位于woocommerce.php中)是: 这适用于类别页面,但不适用于单个产品页面 如何分配cat1和cat2的所有单个产品和显示器 指定的菜单 谢谢条件标记检查是否显示了自定义分类法归档页面。因此,正如您所看到的,它不适用于单个产品页面 您应该使用条件函数,它将以类似的方式用于单个产品页面

我的WooCommerce商店有两大类:

cat1
- subcat1
- subcat2

我制作了这两个分支的菜单,它们显示在类别上 页。为了便于导航,我还想在单个产品页面上显示它们

我的代码(位于woocommerce.php中)是:


这适用于类别页面,但不适用于单个产品页面

如何分配cat1和cat2的所有单个产品和显示器 指定的菜单

谢谢

条件标记检查是否显示了自定义分类法归档页面。因此,正如您所看到的,它不适用于单个产品页面

您应该使用条件函数,它将以类似的方式用于单个产品页面

因此,您的代码将是:

<?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' ) ); 

?>


这应该像您期望的那样适用于单个产品页面和归档页面。

Hi LoicTheActec–非常适合。谢谢你指出这个逻辑。
<?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' ) ); 
   }
?>
<?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' ) ); 

?>