如何显示特定的CSS样式wp_nav_menu()

问题描述 投票:1回答:2

我是wordpress的新手。我有一个自定义菜单,我只想在用户浏览器登陆特定页面时显示特定菜单项。

wp_nav_menu(array('theme_location'=>'menu-main'));

有没有办法让wp_nav_menu()挂钩只显示具有特定css类项的特定菜单项?

css wordpress menu
2个回答
1
投票

如果我理解你的问题,是的,有办法。你可以使用条件。 PHP if语句。 WordPress允许您在执行命令之前检查页面标题,ID,类别,例如

if( is_page( array( 'about-us', 'contact', 'management' ) ) {

     //either in about us, or contact, or management page is in view
     //execute something

} else {

     //none of the page about us, contact or management is in view
     //execute something

}

你可以在wp_nav_menu上添加一个类/ ID

加入这两个想法,你可以:

// When Page 42 (ID) is being displayed.
if ( is_page( 42 ) ) {

    wp_nav_menu(array('menu_id' => 'pines', 'menu_class' => 'pnav'));

} elseif( is_page( array( 'about-us', 'contact', 'management' ) ) {

     wp_nav_menu(array('menu_id' => 'bananas', 'menu_class' => 'nav'));

} else {

     wp_nav_menu(array('menu_id' => 'main-id', 'menu_class' => 'main-nav'));

}

添加了唯一的ID和类后,您可以按照自己的方式设置样式。参考https://codex.wordpress.org/Conditional_Tags


0
投票

在编写自定义函数之前,请考虑搜索现有插件。对于您的特定功能,我会使用Page Specific Menu Items插件。

如果要添加到现有函数,请考虑使用body_class过滤器。使用此功能,您可以将css类添加到body元素,然后编写css以更改任何特定页面的菜单显示方式。

© www.soinside.com 2019 - 2024. All rights reserved.