根据自定义分类分配不同的菜单

时间:2019-06-28 作者:Bacorrito

我一直在谷歌上搜索、修补和调查/测试设置,但似乎什么都不起作用,所以请容忍我,如果可以,请帮助我。非常感谢!

我有一个通过CPT UI插件创建的名为“location”的自定义分类法-下面是CPT UI插件用于注册新分类法“location”的代码。

function cptui_register_my_taxes_location() {

    /**
     * Taxonomy: Locations.
     */

    $args = array(
        "public" => true,
        "publicly_queryable" => true,
        "hierarchical" => true,
        "show_ui" => true,
        "show_in_menu" => true,
        "show_in_nav_menus" => true,
        "query_var" => true,
        "rewrite" => array( \'slug\' => \'location\', \'with_front\' => true, ),
        "show_admin_column" => true,
        "show_in_rest" => true,
        "rest_base" => "location",
        "rest_controller_class" => "WP_REST_Terms_Controller",
        "show_in_quick_edit" => true,
        );
    register_taxonomy( "location", array( "post", "blog" ), $args );
}
add_action( \'init\', \'cptui_register_my_taxes_location\' );
现在我很难找到解决方案:有没有办法根据页面的分类来分配一组菜单?

理想情况下,我将在“外观”>“菜单”下创建一组菜单,并将其命名为“测试菜单”,然后将其分配给特定的分类术语-是否有我们都可以使用的wordpress代码(函数),其中我们将设置分类名称和匹配的菜单名称?

提前感谢大家的帮助!

1 个回复
SO网友:Michelle

我认为这样做的方法是:

如您所述,在外观>菜单中设置菜单wp_nav_menu() 显示当前菜单的代码),设置WordPressconditional 检查所访问的页面是否是位置分类法存档,并基于此显示不同的菜单。例如:

if (is_tax(\'location\')) { wp_nav_menu( array($args = array( \'menu\' => \'test-menu\', // your menu slug here ) ); } else { wp_nav_menu(); // your original menu code here }

请参见Conditionals 在WordPress codex的页面中,您可以在这里使用的所有选项有很多。

相关推荐

Add extra markup to WP menus

我被要求将一个HTML网站重新开发为一个WP主题,它有一个非常高级的菜单结构,我不太确定如何复制它。第二个菜单项有一个子菜单,但它不仅仅是“li”中的“ul”,还有额外的div等。。因为下拉列表有3列布局,其中2列包含子链接,第3列包含内容。这是一个示例:<ul class=\"nav navbar-nav three\"> <li class=\"dropdown yamm-fw\"> <a href=\"#\" class=\"dropdown-toggl