フォーラムへの返信

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック投稿者 umikurasu

    (@umikurasu)

    nobita様、ご返信ありがとうございます。

    今回ご指導いただいた以下の内容については
    私の知識不足で理解できず、解決しそうもありません。

    >クリックしたら、開くというアクションではなく、
    >もし、?page_id=XXというhttpリクエストがあったら、
    >隣接するULエレメントを表示する>という処理をPHPか、
    >javascriptで書くという事になると思います。

    何度もお手間をかけて申し訳ございません・・・

    もしも、まだお付き合いしていただけるのであれば、
    ご教授ねがえますか?

    よろしくお願い申し上げます。

    トピック投稿者 umikurasu

    (@umikurasu)

    nobita様、お世話になります。

    とってもご丁寧な返信、本当にありがとうございました。

    早速、ご指導いただいたコードを拝見させていただきました。

    この内容で、A-1をクリックするとアコーディオンの開閉はもちろん、
    それと同時に
    A-1に指定された「href=”?page_id=XX”」ページへリンクさせたいのです。
    ※A-1ページにもコンテンツが存在しますので、
     アコーディオンの開閉とリンク、2つの処理をさせるようしなければなりません。

    サブメニューが存在しない場合のリンク(A-3)については
    拝見した内容で大丈夫です。

    大変、お手間をおかけいたしますが、何卒よろしくお願い申し上げます。

    トピック投稿者 umikurasu

    (@umikurasu)

    nobita様、こんにちは。お世話になります。
    お返事が遅くなり申し訳ございません。

    初回に質問した際のHTML、やり方がわからなくて、
    かなりコードが崩れてましたね。(すみません)

    ▼実際に公開された(生成された)ページのソースをコピーしております。

    <ul class="acc">
    
    <!--▼孫を持つ子-->
    <li class="page_item page-item-546"><a href="#">A-1</a>
    <ul class='children'>
    	<li class="page_item page-item-14"><a href="#">A-1-1</a></li>
    	<li class="page_item page-item-70"><a href="#">A-1-2</a></li>
    </ul>
    </li>
    
    <!--▼孫を持つ子-->
    <li class="page_item page-item-30"><a href="#">A-2</a>
    <ul class='children'>
    	<li class="page_item page-item-555"><a href="#">A-2-1</a></li>
    	<li class="page_item page-item-34"><a href="#">A-2-2</a></li>
    	<li class="page_item page-item-44"><a href="#">A-2-3</a></li>
    </ul>
    </li>
    
    <!--▼孫を持たない子-->
    <li class="page_item page-item-411"><a href="#">A-3</a></li>
    
    <!--▼孫を持つ子-->
    <li class="page_item page-item-72"><a href="#">A-4</a>
    <ul class='children'>
    	<li class="page_item page-item-80"><a href="#">A-4-1</a></li>
    	<li class="page_item page-item-77"><a href="#">A-4-2</a></li>
    </ul>
    </li>
    
    </ul>

    コードを生成するために使ったテンプレート関数・・・
    サイドバーに固定ページの一覧を取得するために以下を入れました。

    <ul class="acc">
    <?php
    if(is_page()){
    $parent = array_reverse($post->ancestors);
    if($parent) :
    $pages = $parent[0];
    else :
    $pages = $post->ID;
    endif;
    }
    if($pages){
    wp_list_pages('echo=1&title_li=&child_of='. $pages);
    }
    else{
    }
    ?>

    その他、header.phpにjqueryのコードを入れました。
    function.phpへは何も追加しておりません。

    他にも必要な情報がありますでしょうか?

    よろしくお願い申し上げます。

    トピック投稿者 umikurasu

    (@umikurasu)

    たびたびすみません・・・
    こちらの確認不足でした。

    nobita様にご指導いただいた内容で、孫を持たない子については
    クリックすると直接リンクするようになったのですが、
    孫を持つ子をクリックするとアコーディオンメニューが表示され、
    その孫をクリックすると、リンクが効かなくなりアコーディオンが
    閉じてしまいます。

    下のように書きました。
    <script type=”text/javascript”>
    jQuery(function() {
    jQuery(“.page_item”).has(“.children”).addClass(“open”);
    });
    </script>

    ul.children内のliにもopenのclassがついてしまうのでしょうか?

    原因がわかりませんので、恐れ入りますがご指導ください。

    よろしくお願い申し上げます。

    トピック投稿者 umikurasu

    (@umikurasu)

    nobita様、ありがとうございます。

    ご紹介いただいたURL、以前拝見して試したところ、
    そのときは動作しなかったのですが、今回はきちんと動作しました!

    恐らくいろいろ試しすぎて、コードにミスがあったのだと思います。

    すごく助かりました。
    初歩的なことですが、ご返信いただきありがとうございました。
    今後ともよろしくお願い申し上げます。

5件の返信を表示中 - 1 - 5件目 (全5件中)