web-dev-qa-db-ja.com

Wp_nav_menuでアンカーするカスタムクラスを追加する

私はwp_nav_menuの出力のアンカーにカスタムクラスを追加したいです。

たとえば、デフォルトは次のとおりです。

<li id="menu-item" class="menu-item menu-item-type-custom">
    <a href="http://example.com">example</a>
</li>

これ欲しい :

<li id="menu-item" class="menu-item menu-item-type-custom ">
    <a href="http://example.com" class="class">example</a>
</li>
4
Hector

これを nav_menu_link_attributes フィルタで行うことができます。

add_filter( 'nav_menu_link_attributes', 'wpse156165_menu_add_class', 10, 3 );

function wpse156165_menu_add_class( $atts, $item, $args ) {
    $class = 'class'; // or something based on $item
    $atts['class'] = $class;
    return $atts;
}
8
cjbj

あなたは管理者のインターフェースを介してネイティブにクラスを追加することができます。 Screen Options(画面の右上)を開き、CSS Classesを確認します。クラスがリンク自体に適用されるかどうかは覚えていませんが、CSS(.class a)を使用していつでもコンテナ内のリンクをターゲットにすることができます。

3
Rarst