(モデレーターのメモ:元々は「wp_nav_menuナビゲーション構造に子のない祖先クラス」というタイトルでした)
私が持っているwp_nav_menu
その中に3つのページを持っていた私のヘッダーに。私がそれらのページの1つにいるときli
、メニューにそのページを含むことがクラスになり.current_page_item
ます。これら3つのページにはテンプレートがあり、これらのテンプレートには、特定のコンテンツタイプのすべての投稿を取得するためのカスタムクエリが含まれています。実際、このトップレベルページの認識される「子供」は実際には子供ではなく、テンプレートを使用してそのトップレベルページに関連付けたコンテンツタイプにすぎません。
'current-ancestor'
ユーザーがテンプレートファイルのカスタムクエリでのみそのページに関連付けられている特定の投稿タイプの単一のページを閲覧しているときに、トップレベルのメニュー項目にクラスを取得してほしい。
それが理にかなっていることを願っています-そうでない場合は、私があなたを失った場所を教えてください!どんな助けにも感謝します。
- 詳細に編集:たとえば、テンプレートを使用しているWorkshopsという静的ページがあります。そのナメクジはワークショップです。テンプレートには、カスタムget_posts関数とその中のループがあり、workshopsというカスタムコンテンツタイプのすべての投稿をプルして表示します。これらのワークショップのタイトルのいずれかをクリックすると、そのコンテンツの完全なコンテンツに移動します。カスタム投稿タイプのパーマリンク構造は、workshops / postnameに設定されます、ユーザーが見ると、これらのコンテンツはWorkshopsページの子です。実際には、これらはすべて1つのコンテンツタイプですが、ページとは無関係です。メニューを効果的に閉じ、「ワークショップ」タイプのコンテンツを閲覧するときに「ワークショップ」メニュー項目を強調表示する必要があるのはそのギャップです。
繰り返しになりますが、それが理にかなっていることを望みます。1つの段落で20回以上「ワークショップ」と言ったと思います。
/workshops/
、ユーザーがワークショップのページ上にある場合(つまり/workshops/example-workshop/
)したい「ワークショップ」メニュー項目がクラスをしているためにcurrent_page_item
割り当てられ、正しいですか?