如何根据哪个页面/类别以编程方式切换菜单?

时间:2018-04-04 08:29:26

标签: wordpress woocommerce

我试图在用户使用特定产品类别时切换菜单。

我已经将代码用于网站的其他部分,但由于某些原因它在这里不起作用:/

Connection DBconn = DBConnection.connect(url,user,password); Boolean DBStatus = checkDBStatus(DBconn, configuration); if(DBStatus) { System.out.println("DB updated recently"); feedbackStatusJSON = runBusinessLogic(); } else { System.out.println("DB not updated"); } 返回null

目前默认为最后一个菜单' MAIN'因为没有if语句消失,但我不知道为什么。

我试图识别循环外的页面ID或名称,但无论我尝试它还是不起作用。

参见代码:

get_queried_object()

我使用$this_category = get_queried_object(); if(is_product_category('cat1') || $this_category->parent == 125) { echo 'cat1'; $whichmenu = 127; } elseif(is_product_category('cat2') || $this_category->parent == 86) { echo 'cat2'; $whichmenu = 79; } elseif (is_product_category('cat3') || $this_category->parent == 85) { echo 'cat3'; $whichmenu = 78; } elseif (is_product_category('cat4') || $this_category->parent == 90) { echo 'cat4'; $whichmenu = 83; } elseif (is_product_category('cat5') || $this_category->parent == 89 || has_term('mrl')) { echo 'cat5'; $whichmenu = 82; } elseif (is_product_category('cat6') || $this_category->parent == 88) { echo 'cat6'; $whichmenu = 81; } elseif (is_product_category('cat7') || $this_category->parent == 87) { echo 'cat7'; $whichmenu = 80; } else { echo 'MAIN'; $whichmenu = 77; } wp_nav_menu( array( 'theme_location' => 'primary', 'container_class' => 'main-menu', 'menu_id' => 'primary-menu-mobile', 'menu' => $whichmenu, 'items_wrap' => '<ul id=%1$s class=%2$s>%3$s</ul>', 'walker' => new WowmallMainMenuWalker, ) ); 来确定子类别是否是某个父级的子级,如果是,则更改菜单。

非常感谢任何帮助:)

干杯

约什

1 个答案:

答案 0 :(得分:0)

解决了使用wp_get_referer()来获取其引用的网址。