我想在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;
}
我现在的问题是,当我进入父级页面时,该父级的所有子级也会以黑色突出显示。:(我不记得该怎么解决了!!