0

我想在 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/

4

3 回答 3

1

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

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

这是官方文档

于 2012-09-11T22:44:29.417 回答
0

你的第一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 中但不工作吗?

于 2012-09-11T22:41:49.460 回答
0

好吧,通过多看 DOM,我注意到 wordpress 已经为未知菜单项创建了一个类:

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

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

于 2012-09-14T15:17:04.097 回答