• 解決済 contSuzuki

    (@contsuzuki)


    現在、以下のようなページ階層をもったサイト構築を行っております。

    • 親ページ01
    • 子ページ01
    • 孫ページ01
    • 孫ページ02
    • 孫ページ03
    • 子ページ02
    • 子ページ03
  • 親ページ02
  • 親ページ03
  • そこで、親ページや子ページが存在する場合に、sidebar.phpに親ページと子ページのナビゲーションを表示したいと考え、色々とプラグイン等を試してみました。

    結果、子ページが存在する場合に、子・孫ページのナビゲーションを表示することには成功しましたが、
    親ページを表示させることが出来ませんでした。

    具体的には、
    以下のいずれのページを開いている場合でも、

    • 親ページ01
    • 子ページ01
    • 孫ページ01
    • 孫ページ02
    • 孫ページ03
    • 子ページ02
    • 子ページ03

    以下のような、ナビゲーションを表示させたいと考えております。

    <ul id="sideNavi">
    	<li>
    		<a href="...">親ページ01</a>
    		<ul>
    			<li>
    				<a href="...">子ページ01</a>
    				<ul>
    					<li>
    						<a href="...">孫ページ01</a>
    					</li>
    					<li>
    						<a href="...">孫ページ02</a>
    					</li>
    					<li>
    						<a href="...">孫ページ03</a>
    					</li>
    				</ul>
    			</li>
    			<li>
    				<a href="...">子ページ02</a>
    			</li>
    			<li>
    				<a href="...">子ページ03</a>
    			</li>
    		</ul>
    	</li>
    </ul>

    さらに、可能であれば開いているページには、
    <li class="current">又は<a href="..." class="current">等と、
    追加できれば申し分ないのですが…

    どなたか、ご教授頂けませんでしょうか?
    質問に不備などがあれば、ご指摘下さい。

    よろしくお願い致します。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • 確認です。
    ようするに、現在表示しているページのトップレベルの親ページのツリーを表示すればいいんですか?

    トピック投稿者 contSuzuki

    (@contsuzuki)

    kvex様、返信有難うございます。

    全くその通りです!
    上手く説明できずに、長々とわかりにくい文章でになってしまい申し訳ありません…

    自作品で恐縮ですが、これではダメですか?
    http://firegoby.theta.ne.jp/wp/localmenu

    固定ページ表示のときはいいんですけど、それ以外のときは考慮するんですかね?

    私のほうでは、テンプレートタグだけの方法を考えてみますね。
    実現方法としては手順としてはごく簡単で
    1.現在のページ階層を取得
    2.一番上のページIDを元に、通常の<?php wp_list_pages('引数'); ?>
    だけなんですけど。

    ページ以外の表示のときはどうするのかな?と思ったりもします。

    あー、投稿の場合は、同じカテゴリーの他のページみたいなのが出たらいいかもしれませんねー。
    ありそうでないですよね。
    ていうか、どんなキーワードで検索したらいいか、よくわからない。(^^;)

    私が作ったやつは、手抜き(?)で固定ページ以外の時は、何も返しません。

    トピック投稿者 contSuzuki

    (@contsuzuki)

    Miyauchi様、kvex様、返信有難うございます。

    Miyauchi様のプラグインを使ってみました。
    ほぼ、思い通りな感じなのですが、homeで全ページへのリンクが表示されました…
    以下のような感じです。

    • 子ページの無いページ → 表示なし
    • 親子孫ページのあるページ → 親子孫へのリンク表示
    • ホーム → 親子孫関係なく全ページへのリンク表示

    今度は、kvex様にご教授頂いた方法を試してみます。
    なにぶん初心者なもので、調べ調べやってみますので、
    結果報告まで時間がかかりそうですが…

    > ほぼ、思い通りな感じなのですが、homeで全ページへのリンクが表示されました…

    もしかして「設定」-「表示設定」でフロントページを何らかの固定ページに設定してるんですね!

    ちなみにサイドバーウィジェットには、固有のクラス名が自動的に付けられるので、以下のようなCSSで消せますよ。

    [ホームページのセレクタ] .widget_localmenuwidget
    {
        display: none;
    }

    [ホームページのセレクタ]はテーマによって違いますが、twentytenなら.homeです。
    ほかにもbodyタグにいろいろとクラスがついてると思います。

    トピック投稿者 contSuzuki

    (@contsuzuki)

    もしかして「設定」-「表示設定」でフロントページを何らかの固定ページに設定してるんですね!

    いや、そういうわけではないんですが…

    ちなみにサイドバーウィジェットには、固有のクラス名が自動的に付けられるので、以下のようなCSSで消せますよ。

    [ホームページのセレクタ] .widget_localmenuwidget
    {
        display: none;
    }

    ですよね、なんとなくCSSでの対応は最後の手段(?)のような気がしてしまっていたのでw
    お手数お掛けいたしました。

    トピック投稿者 contSuzuki

    (@contsuzuki)

    Miyauchi様、kvex様、結果報告が遅くなり申し訳ございません。

    Miyauchi様のプラグイン、kvex様のコード、共に思い通りの事ができました。
    有難うございました。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「サブページのナビゲーション」には新たに返信することはできません。