• 解決済 egtomo

    (@egtomo)


    タブボタンを追加したのですが、タブを開いた後に開いたタブページのリンクボタンを削除したいのですが、どうすればできるでしょうか。

    例)
    <div class=”tab_box”><ahref=”#”>開く前</div>
    <div class=”tab_box”>開いた後</div>

    やりたいことは、開いた後のタブボタンの色を変更して、現在開いているページがわかるようにしたいです。

    どなたか教えて下さい。
    お願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • 現在のページインデックスや投稿のインデックスを判断して、内容やcssクラスを変えるというやりかたでしょうね?
    メニュー部分を独自で作っているなら、ちょっと手間がかかりますがその方法しかないでしょう。

    ページリストなどのテンプレートタグですと、現在のページとそうでないページでcssクラスを分けてくれるのですが。

    トピック投稿者 egtomo

    (@egtomo)

    ご回答ありがとうございます。

    メニュー部分は独自で追加したものになります。
    リンクもページだったり、記事だったり様々になります。
    その上で、どのページかを判断し、特定のリンクのみCSSを変更するということはできるのでしょうか?

    どんなテーマなのかわからないので、条件分岐の例として

    <?php
    global $post;     // ループ外の場合
    
    if ( is_page('1') ) {
        // ページID1の場合
    } else {
        // そうでない場合
    }
    ?>

    などを使っていくとか。

    codex の条件分岐タグなどを参照することをお奨めします。

    トピック投稿者 egtomo

    (@egtomo)

    ありがとうございます。
    こんなタグがあるとは知りませんでした。
    条件分岐で判別できました。
    ソースがえらいことになってしまう以外エラーもなさそうです。
    助かりました。ありがとうございました。

    解決済みですが、一応参考になれば。

    yuga.js というスクリプトを使えば、現在のページのリンクに「class=”current”」を追加してくれます。

    CSSだけでの実装なら、body に body_class() を利用すれば可能かと。(未検証)

    html

    <body <?php body_class(); ?>>
    
    <!-- タブメニュー部分の li に IDを -->
    <ul>
    <li id="tab1"><a href="/123">投稿123</a></li>
    <li id="tab2"><a href="/9">ページ9</a></li>
    <li id="tab3"><a href="/category/wp">カテゴリーWP</a></li>
    </ul>

    CSS

    .postid-123 #tab1, .page-id-9 #tab2, .category-wp #tab3 {
           background:目立つ色; font-weight:700;
    }

    .postid-123 や .category-wp は、<body> に body_class() によって付けられたクラス名。

    なお、WP3.0の新機能「カスタムメニュー」で悩みは解決される“かも”しれません。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「開いているページのリンクをボタンから削除したい」には新たに返信することはできません。