web-dev-qa-db-ja.com

ホームとしてページを使用しているとき、navがホームリンクとページリンクの両方をアクティブに設定しないようにするにはどうすればよいですか。

ページに対応して、管理されたメニューに4つの項目を持つサイトがあるとしましょう。

ホーム|フーバーバズ

「ホーム」項目は「/」を指すカスタムリンクです。
そして、 "Bar"コンテンツをホームページに表示したいので、[設定]でフロントページに指定します。

ホームページにアクセスすると、 "Home"と "Bar"の両方がアクティブなクラスを取得し、次のようなスタイル(.current-menu-item / .current_page_item)になります。

ホーム|フーバー|バズ

…ホームだけが強調されると期待するのが合理的に思えるとき。

私はここで何か間違ったことをしましたか、それともこれは実際にはバグのある(または少なくとも次善の策ではない)動作ですか?そしてそれをテンプレート化で修正するための比較的簡単な方法はありますか?ページをターゲットにしたCSSを使って簡単にスタイルを元に戻すことができますが、それは実際の問題に対する回避策であり、テーマに欠けているものがあれば私は興味があります。

1
Su'

これは実際に意図された正確な振る舞いです、それはあなたの特定のユースケースには望ましくありません。

別の言い方をすると、あなたがbarをクリックしたとき、あなたのロジックでhomeはアクティブにすべきではありませんが、homeとbarは同じページで同じURLを持つのでそうなるでしょう。したがって、あなたが欲しいものはあいまいです。

その代わりに、Spotsプラグインをダウンロードしてインストールすることをお勧めします。バーページのコンテンツで新しいスポットを作成してから、そのスポットをバーページに挿入します。最後に、Homeというページを作成し、それをフロントページとして設定します。これで、home!= barとメニューは希望どおりに機能しますが、どちらも希望するコンテンツを表示します。

1
Tom J Nowell