サポート » 使い方全般 » カスタムメニューで出力したアンカータグにclassを付けたい

  • こんにちは。
    いつも素晴らしいアドバイスに感謝しています。

    現在、カスタムメニューで出力した下記のようなコードの中で、
    アンカータグのなかにclassを挿入する方法がないか探していますが、
    うまく見つけられず悩んでおります。

    <ul id="menu-sub-navigation" class="menu">
    <li id="menu-item-1"><a target="_blank" href="ken4rou.html">ケンシロウ</a></li>
    <li id="menu-item-2"><a target="_blank" href="time.html">トキ</a></li>
    <li id="menu-item-3"><a target="_blank" href="raoh.html">ラオウ</a></li>
    </ul></div>

    上記の<a target="_blank" href="ken4rou.html"のあとに class="◯◯◯">
    追加される方法を探しています。

    確かに、カスタムメニューの設定(管理画面のメニューより)で、表示メニューよりclassを入力させるフィールドがあり、この中に入力することができるのですが、こちらの内容はliのclassとして挿入されるため目的とは微妙にずれているのが現状です。

    今回利用したいと考えている機能はpopup.jsというものを使って、
    アンカーにclassのpopupが付いていれば、新規ウィンドウが立ち上がるというスクリプトとの連携でした。

    http://www.lifeisg.com/blog/other/popup/

    どうか皆様のお知恵をお借りしたくお願い申しあげます。

    m(_ _)m

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

    (@shimodar)

    追伸:

    こちらのフォーラムにてカスタムメニューをキーワードに検索をしてみましたが
    過去ログで該当するものを見つけることができませんでした。

    少し掘り下げてGoogle先生に頼っていったのですが、
    近しいと思われる下記の情報も、解決には至らず、どうしたものかと
    思案している次第です。

    http://wordpress.stackexchange.com/questions/10118/add-class-to-specific-link-in-custom-menu

    精いっぱいの現状ご説明付けくわえさせていただきました。

    付け焼き刃的な方法ではありますが。walker_nav_menu_start_elのフックを使って無理矢理上書きすればできそうです。

    function add_nav_menu_custom_class($content ) {
    	return str_replace('href=', 'class="popup" href=', $content);
    }
    add_filter( 'walker_nav_menu_start_el', 'add_nav_menu_custom_class' );
    トピック投稿者 haha taduko

    (@shimodar)

    >> kurosquareさま

    ご回答いただいていたのに、お返事さしあげられておらず申し訳ございませんでした。
    walker_nav_menu_start_el はじめて目にしました。

    試してみたいと思います。
    動作確認できたらまたこちらでご報告させていただきます。

    1週間、回答つかずで仕様として無理なのかとあきらめて、WPで出力したコードをテンプレートに直書きしていたのですが、こちらで解決できそうです。

    WPでできることがまたもう一つ知れて本当に嬉しいです。

    ありがとうございました!

    トピック投稿者 haha taduko

    (@shimodar)

    >> kurosquareさま

    こんにちは。
    随分と実装のご連絡が遅れてしまってすみませんでした。

    ご教授いただいたコードをそのまま書いてみたところ見事アンカータグに
    指定のclassが追加されました!!

    ただ、カスタムメニューで作成したすべてのメニューのアンカーに指定のclassが
    ついてしまうため、そこだけなんとか特定のメニュー(例えばprimary-menuなど)だけに
    指定することができないかと思っています。

    walker_nav_menu_start_elに変わるようなフック、そのカスタマイズ方法も現在検索中ですが、なかなか海外でもここの仕様について書かれたものが少なく苦戦しております。

    またアドバイスいただけます機会ございましたらどうぞ宜しくお願い致します。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタムメニューで出力したアンカータグにclassを付けたい」には新たに返信することはできません。