Php 在wordpress中获取当前活动的菜单标题
我需要在wordpress的每个页面上获取当前活动的菜单项(菜单标题,如主页、关于我们等等)。我使用wordpress代码来显示菜单&它显示正确。代码如下所示Php 在wordpress中获取当前活动的菜单标题,php,wordpress,menu,styles,Php,Wordpress,Menu,Styles,我需要在wordpress的每个页面上获取当前活动的菜单项(菜单标题,如主页、关于我们等等)。我使用wordpress代码来显示菜单&它显示正确。代码如下所示 $menu_name = 'primary'; if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) ) { $menu = wp_get_nav_menu_object
$menu_name = 'primary';
if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) )
{
$menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
$menu_items = wp_get_nav_menu_items($menu->term_id);
$menu_list = '<ul id="menu-' . $menu_name . '" class="nav navbar-nav" style="width:100%;">';
foreach ( (array) $menu_items as $key => $menu_item )
{
$title = $menu_item->title;
$url = $menu_item->url;
$menu_list .= '<li class="menu-line"><a href="' . $url . '">' . $title . '</a></li>';
}
$menu_list .= '</ul>';
} else {
$menu_list = '<ul><li>Menu "' . $menu_name . '" not defined.</li></ul>';
}
echo $menu_list;
$menu_name='primary';
if($locations=get_nav_menu_locations())和&isset($locations[$menu_name]))
{
$menu=wp_get_nav_menu_object($locations[$menu_name]);
$menu\u items=wp\u get\u nav\u menu\u menu\u items($menu->term\u id);
$menu_list='- 菜单'.$menu_名称'.''未定义。
';
}
echo$菜单列表;
';
}否则{
$menu_list='
但我无法确定哪个菜单项现在处于活动状态。
感谢您的帮助 像这样更新代码,并根据需要添加css
<?php
$menu_name = 'primary';
if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) )
{
$menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
$menu_items = wp_get_nav_menu_items($menu->term_id);
$menu_list = '<ul id="menu-' . $menu_name . '" class="nav navbar-nav" style="width:100%;">';
foreach ( (array) $menu_items as $key => $menu_item )
{
$title = $menu_item->title;
$url = $menu_item->url;
$active = '';
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if($url == $actual_link)
{
$active = 'active';
}
else
{
$active = '';
}
$menu_list .= '<li class="menu-line"><a href="' . $url . '" class="'.$active.'">' . $title . '</a></li>';
}
$menu_list .= '</ul>';
} else {
$menu_list = '<ul><li>Menu "' . $menu_name . '" not defined.</li></ul>';
}
echo $menu_list;
?>
CSS如下所示
<style>
.active { border:1px solid #f00;}
</style>
.active{border:1px solid#f00;}
它对我的代码很好。它工作得完美吗?是的,它对我来说很好。。