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 に答える