私はWordpressを初めて使用します。私のバージョンはWP3.4.2です。サイトは私のローカルホストにあります。申し訳ありませんが共有できません。
現在の投稿に基づいてナビゲーションメニュー項目を動的に強調表示するにはどうすればよいですか?この質問はStackOverflowにかなり表示されますが、受け入れられる回答は見つかりませんでした。ここで見た回答の中にはJavascriptを使用しているものもありますが、訪問者の20%がjsを持っていないため使用できません。
私はフィルターフックを使用して解決策を見つけました(私にとっては新しい概念です)。以下のheader.phpにfilter_hookを追加しました。
このフックは正しい投稿で起動しますが、最終的な結果は間違っています。メニューの1つの項目にクラス名「current-menu-item」を追加する代わりに、メニュー全体は次の文字列になります。「current-menu-item」;
誰かが私が間違ったことを理解するのを手伝ってくれませんか?
if(($post->post_type) =="communities")
add_filter('wp_nav_menu' , 'special_nav_class' , 10 , 2);
function special_nav_class( $item){
if(true){
$class = "current-menu-item";
}
return $class;
}