使用wordpress在菜单中选择活动

时间:2016-06-01 03:25:33

标签: php wordpress

我在wordpress中有这个菜单,我的问题是 - 我希望当我点击像议程页面这样的页面时,议程菜单将是class =“currentpage”。我对主动菜单中的wordpress并不熟悉。我在functions.php中添加了一个代码,这是我的代码 -

add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);

function special_nav_class ($classes, $item) {
    if (in_array('current-menu-item', $classes) ){
        $classes[] = 'currentpage';
    }
    return $classes;
}

这是我的html菜单 -

<li><a href="<?php bloginfo('url')?>/about/" class=""><span>about</span></a></li>
                <li><a href="<?php bloginfo('url')?>/agenda/" class=""><span>agenda</span></a></li>
                <li><a href="<?php bloginfo('url')?>/past-conferences/"  class=""><span>past conferences</span></a></li>

我希望将其插入class =“currentpage” 我怎么能在这件事上工作? 任何帮助都非常感谢TIA。

1 个答案:

答案 0 :(得分:0)

如果您希望此功能正常工作,则需要通过Wordpress手动添加菜单。

首先,在主题functions.php文件中注册nav menu

Function Reference/register nav menu

示例:

<?php
add_action( 'after_setup_theme', 'register_my_menu' );
function register_my_menu() {
  register_nav_menu( 'primary-menu', __( 'Primary Menu', 'theme-slug' ) );
}
?>

然后通过Wordpress(外观&gt;菜单)添加菜单。

之后用wp_nav_menu()函数替换html菜单以显示自定义菜单。

Navigation Menus Wordpress

示例:

<?php wp_nav_menu( array( 'theme_location' => 'primary-menu' ) ); ?>

只有在此之后,您的功能才能按预期工作。