web-dev-qa-db-ja.com

サイドバーのカスタムメニューのHTML構造を変更する

私はあなたがオプションウィジェットに置く "カスタムメニュー"のためにHTML出力を変更する方法についてのドキュメントを探しています。そのため、ここにウィジェットブロックの画像を添付しているのが明らかです。

Custom menu

この要素からの出力は次のようになります。

<div class="nav_menu-8 widget_nav_menu col-sm-4">
    <div class="menu-expo-container">
        <ul id="menu-expo" class="menu">
            <li><a href="http://xxxxx.com/test1">Test 1</a></li>
            <li><a href="http://xxxxx.com/test2">Test 2</a></li>
        </ul>
    </div>
</div>

このコード構造を変更したいので、自分のニーズに合わせてください。どのようにそしてどこでそれを変えるのですか?私は自分のfunctions.phpに再利用することができますいくつかのコードソースはありますか?

2
user3751508

生データを扱うことはいつも少し汚れています。そのためのクリーンな方法は、おそらく独自のウィジェットを実装することでしょう。

Widget APIの使用方法については、こちらで学ぶことができます。 http://codex.wordpress.org/Widgets_API そこにはいくつかの優れた例もあります。理解するのはそれほど難しくありません。

まず最初に、デフォルトのWP_Nav_Menu_Widgetのコードを default-widgets.php (1298行目から1363行目)からあなたのテーマにコピーペーストすることができます。 functions.php)そしてそれをカスタマイズし始めます。

しかしChristophsの答えに戻ると、Walker APIは非常に強力であり、ナビゲーション、コメントなどを使って気の利いたことをしたいのであれば、それを学ぶことは間違いなく価値があります。

1