在每个WooCommerce类别页面上显示不同的菜单

时间:2015-11-26 作者:Rod Doe

我已经创建了几个自定义菜单,它们显示在商店页面的主菜单下。每个类别(及其子类别)应显示不同的自定义菜单,如下所示:

自定义菜单:类别1显示菜单1,类别2显示菜单2。。。等等

我试图通过重命名taxonomy-product_cat.php 文件,以创建不同的模板,但这似乎不会影响任何内容。

所以我猜最好的解决方案是修改archive-product.php 并添加条件if (is_product_category( \'cat1\' )) 显示菜单,如果category "cat1" 正在显示。这似乎是一个简单的解决方案,但我无法让它起作用。

非常感谢您的反馈。

1 个回复
SO网友:Rod Doe

这是我发现的行之有效的解决方案:

像往常一样,在这些情况下,通过复制来覆盖woocommerce插件文件夹中的存档产品模板archive-product.phpyourtheme/woocommerce/archive-product.php. 编辑文件,并在开头(或菜单需要显示的任何地方)添加此代码:

<?php 

if ( is_tax( \'product_cat\', \'cat1\' )) {
    wp_nav_menu( array( \'theme_location\' => \'menu1\' ) ); 
}

elseif ( is_tax( \'product_cat\', \'cat2\' )) {
    wp_nav_menu( array( \'theme_location\' => \'menu2\' ) ); 
}

else ( is_tax( \'product_cat\', \'cat3\' )) {
    wp_nav_menu( array( \'theme_location\' => \'menu3\' ) ); 
}

?>
当我们处于cat1类别的产品页面时,将显示菜单1。

当我们在cat2类别的产品页面上时,将显示menu2。

等等

相关推荐

将选项添加到“Menus”编辑器的“Screen Options”部分

我正在开发一个向WordPress菜单编辑器添加自定义选项的系统,我想将其与屏幕选项面板集成。在我的研究中,我找不到任何关于修改现有屏幕选项菜单的内容;这可能吗?请参见下面的屏幕截图,以更好地了解我要实现的目标。外观>菜单上的默认“屏幕选项”:外观>菜单上的目标“屏幕选项”: