質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

メニュー

メニューは、UIにおける仕組みであり、ユーザに機能の表示と実行する手段を与えます。

Q&A

解決済

2回答

4292閲覧

wordpress カスタム投稿 子要素(single.php)のメニューをアクティブにしたい

komadesign0

総合スコア7

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

メニュー

メニューは、UIにおける仕組みであり、ユーザに機能の表示と実行する手段を与えます。

0グッド

0クリップ

投稿2017/03/06 04:59

こんにちは!
最近wordpressのサイト構築を始めて結構詰まってます。
こちらの投稿も初めてですので説明が分かりにくい部分があるかもしれませんが
よろしくお願いします。

タイトルにも書いたのですがwordpressのカスタムメニューを
使ってるのですが、archive.phpには自動で.current-menu-itemの
クラスが付与されてそこにスタイルを当てれるのですが
その先のsingle.phpの記事には付与されない状態です。

検索しても出てこないのでそもそもサイト構築のやり方がまずいのか
分からない状態で困ってます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

どういうメニュー構成かわかりませんが、例えばアーカイブへのリンクを表示しているメニューの場合、そのアーカイブ内の記事には「.current-menu-item」が付きません。

メニューの変更をしたければフィルターフックで処理することが出来ます。

【[WordPress] カスタムメニューの項目に付与されるクラスをカスタマイズする】
http://notnil-creative.com/blog/archives/1615

投稿2017/03/07 05:43

kei344

総合スコア69364

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

komadesign0

2017/03/08 01:48

kei334さん ご回答ありがとうございます。 フィルターフックを理解してませんでしたので助かりました。 こちらの方法で対応できそうですのでやってみます。 こういうサイトは初めて利用するのですが皆さん親切で とてもよいと思いました。ありがとうございます。
guest

0

クラスの付与でしたら、
メニューを呼び出している関数(wp_nav_menu)のオプション(menu_class)に設定されていないと思われます。

メニュー自体が表示されていないとのことでしたら、
archive.phpのメニューをコピペする方法がいいかと思われます。

コードがないためこのようなことしか書けませんがお役に立てたらと思っています。

投稿2017/03/06 07:05

kyomi

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

komadesign0

2017/03/07 00:31

kyomiさん 遅くなりました! ご回答ありがとうございます。 こちらの説明がうまくなくて申し訳ありません。 >メニュー自体が表示されていないとのことでしたら、 archive.phpのメニューをコピペする方法がいいかと思われます。 メニューは表示されてる状態です。 ちょっと書き直しました↓ wp_nav_menuのオプションメニューの中で 現在のページのメニュー項目というのがあって メニューのliタグに自動的に.current-menu-itemが 付与されるのでこちらに .menu li.current-menu-item { border-bottom: 0.1rem solid #fff; background: #fff; } と背景を#fffにしてアクティブ表示にしてるのですが こちらの一覧ページ http://localhost/wordpress/novel/ から http://localhost/wordpress/novel/book1/ という個別ページに飛んだ時には メニューに.current-menu-itemが付与されないみたいで アクティブ表示にできません。 この下層のページでもアクティブにする方法を現在探してます。 まだwordpressを始めたばかりでテンプレート階層も 全部理解できてない状態ですので そもそもこのページ構成に問題があるのかも分からない状態です。
komadesign0

2017/03/07 05:24

追記です。 メニュー部分はプラグインのCustom Post Type UIを使用してます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問