将js添加到wordpress中以突出显示css活动菜单


Adding js to wordpress for css activemenu highlight

我想在wordpress中为我的活动菜单添加一个简单的高亮显示。为了做到这一点,我已经找到了一些可能有用的代码(如果它们有效的话)。在js方面,我是一个完全的新手,但我知道的太多了,以至于把这段代码放在我的函数中。php

// Enqueue JavaScripts
function theme_scripts() {
    wp_enqueue_script('cartrawler', get_template_directory_uri() . 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js', array(), '20120802', '1');
    wp_enqueue_script('cartrawler', get_template_directory_uri() . '/js/jquery.colorbox-min.js', array(), '20120802', '1');
    wp_enqueue_script('cartrawler', get_template_directory_uri() . '/js/activemenu.js', array(), '30120802', '1');
}
add_action('wp_enqueue_scripts', 'theme_scripts');

我参考了这个链接,帮助我完成了使之成为可能的小脚本:http://jsfiddle.net/K6F8m/

如果使用函数wp_nav_menu()创建菜单,Wordpress会自动添加类,允许您创建所需的"活动菜单高亮显示"效果。

其中一些类别是.current-menu-item.current-menu-parent.current-{object}-parent.current-{type}-parent等。

这是官方文件。

您的第一行wp_enqueue_script不好。您使用的是完全限定的URL(https://ajax.googleapis.com...),但在其前面有主题的URL。尝试将第一个wp_enqueue_script行替换为:

wp_enqueue_script('cartrawler', 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js', array(), '20120802', '1');

如果这还不能彻底解决你的问题,请详细说明你遇到的实际问题是什么。脚本没有显示在HTML中吗?它们在HTML中但不起作用吗?

好的,所以通过进一步研究DOM,我注意到wordpress已经为未知菜单项创建了一个类:

div#menu li.current_page_item a{
color:#000;
}
div#menu li.current_page_item a:hover{
color:#662D91;
}

我现在的问题是,当我进入父级页面时,该父级的所有子级也会以黑色突出显示。:(我不记得该怎么解决了!!