2016-04-10 8 views
0

私はメインとセカンダリの2つのメニューを持っています。data-scroll=''の属性をメインメニューだけに追加したいと思います。私はsucessfully現在のコードですべてのメニューに属性を追加してい:ワードプレスフィルタを条件付きで/ 1ページに追加

function add_data_scroll($atts, $item, $args) { 

    $atts['data-scroll'] = ' '; 
    return $atts; 

} 

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

がどのように私は私のメインメニューに条件付きでこのフィルタを追加しますか?メインメニューはフロントページでのみ使用されるので、これをターゲットにするのには良い方法かもしれません。

答えて

1

wp_nav_menu_args filter on wordpressの例を見ることができます。

あなたのメニューを定義するとき theme_locationパラメータを設定する必要が

:あなたのフィルタでは

<?php wp_nav_menu(array('theme_location' => 'primary', 'menu_class' => 'nav-menu')); ?> 

あなたが行うことができます。

function add_data_scroll($atts, $item, $args) { 
    if('primary' == $args['theme_location']) 
    { 
     $atts['data-scroll'] = ' '; 
     return $atts; 
    } 

} 

add_filter('nav_menu_link_attributes', 'add_data_scroll', 10, 3); 
+0

ありがとうございました、これは有望に見えます。私はこのコードを追加しました。次のメッセージが表示されます: '配列として型stdClassのオブジェクトを使用できません' –

関連する問題