表示しているカテゴリー層とカテゴリー一覧の層を同期させる
-
WordPressですがやりたいことは2つあります。
使用テンプレートは賢威です。まず、カテゴリー層が3つあることを前提に考えていきます。
【やりたいことその1】
http://ドメイン/category/oya
上記のように最も親にあたる記事一覧をみているときは、パーマリンクと同調してサイドバーのカテゴリーも最も親にあたる一覧のみ表示させたいhttp://ドメイン/category/oya/ko
上記のように子にあたる記事一覧をみているときは、パーマリンクと同調してサイドバーのカテゴリーも子にあたる一覧のみ表示させたいhttp://ドメイン/category/oya/ko/mago
上記のように孫にあたる記事一覧をみているときは、パーマリンクと同調してサイドバーのカテゴリーも孫にあたる一覧のみ表示させたい【やりたいことその2】
各カテゴリー層の一覧を見ているときは、常に最も親にあたるカテゴリーをスラッグをclassとして付加したうえで取得したい任意の場所に表示させたいために、親カテゴリー一覧を見ているときは親カテゴリーを取得するのはもちろん、子カテゴリーを見ているときでも孫カテゴリーを見ているときでも、親カテゴリーを取得する必要がある
しかしながら【やりたいことその1】も視野にいれないといけない
尚、投稿時に選択するカテゴリーは親カテゴリー以下を対象とした場合、それより上の層は選択しないものとします
つまり、孫カテゴリーを選択したら子カテゴリーも親カテゴリーも選択しないし、子カテゴリーを選択したら親カテゴリーは選択しない。
その理由は、孫カテゴリーを選択したから子も親も選択して記事公開してしまうと、http://ドメイン/category/oyaがパーマリンクになってしまうからです。
http://ドメイン/category/oya/ko/mago として表示させたいのなら(そうしたいから)孫カテゴリーは選択して、子や親カテゴリーは選択してはならないということです。
そのうえで、孫カテゴリーの最も親にあたるカテゴリーを取得するところで突き当たっています。
サイトの構造を変えればこの定義はあてはまらなくなるのかもしれませんが、未熟者ゆえ、いい案が浮かばないといったところです。
この課題はただ単に、カテゴリーのことを考えれば解決する問題ではなく、パーマリンクとか、カテゴリーの層に応じてside2.phpとかside3.phpとか作ったりすれば解決か?とか、でもcategory.phpなんてないしサイドバー用のphp呼び出せんぞとか、じゃあindex.phpで条件分岐作っていくかとか、そもそも親カテゴリー選択してないのに記事が属する孫カテゴリーから親カテゴリー取得することなんてできるのかとか、いや、親を選択していなくても層としての親と子と孫の関係は成り立ってるんだから選択してなくても孫から取得する方法があるはずだとか、絡む問題が多すぎてちょっと1週間ほどテンパってます。
- トピック「表示しているカテゴリー層とカテゴリー一覧の層を同期させる」には新たに返信することはできません。