Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在wordpress中获取当前活动的菜单标题_Php_Wordpress_Menu_Styles - Fatal编程技术网

Php 在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

我需要在wordpress的每个页面上获取当前活动的菜单项(菜单标题,如主页、关于我们等等)。我使用wordpress代码来显示菜单&它显示正确。代码如下所示

    $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='
    ”; foreach((数组)$菜单项作为$key=>$菜单项) { $title=$菜单项->标题; $url=$menu\u项->url; $menu_list.='
  • ; } $menu_list.='
'; }否则{ $menu_list='
  • 菜单'.$menu_名称'.''未定义。
'; } echo$菜单列表;
但我无法确定哪个菜单项现在处于活动状态。
感谢您的帮助

像这样更新代码,并根据需要添加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;}

它对我的代码很好。

它工作得完美吗?是的,它对我来说很好。。