php - Functions.phpでメニューCSSワードプレスをオーバーライドする

原文 php wordpress

functions.phpで次のオーバーライドを使用しています

function wp_nav_menu_attributes_filter($var) {
return is_array($var) ? array_intersect($var, array('current-menu-item')) : '';
}

add_filter('nav_menu_css_class', 'wp_nav_menu_attributes_filter', 100, 1);
add_filter('nav_menu_item_id', 'wp_nav_menu_attributes_filter', 100, 1);
add_filter('page_css_class', 'wp_nav_menu_attributes_filter', 100, 1);


これにより、wordpressがメニュー項目に追加するクラスタグが削除されます。今私がする必要があるのは実際に自分のクラス名をliタグに入れることです、誰でも簡単にそれを行う方法を記入できますか、私はグーグルを精査しました、そしておそらく私はそれを間違って検索しているのでしょうか? functions.phpファイルでフックシステムを理解できません...

上記を使用すると、html出力が次のようになります...

    <ul id="menu-homemenu" class="list-group special">
    <li><a href="#">Biography</a></li>
    <li><a href="#">Selected Works</a></li>
    <li><a href="#">Contact Us</a></li>
    </ul>
答え
もちろん、私がコメントを投稿した後、私はそれを理解しました...これがそれを得るのに一晩中かかるときはため息が嫌いです...この質問は私を正しい方向に向けました-How to add custom HTML to wp_nav_menu?

このクラスを追加しました。

class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {
    function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
        $output .= "<li class='list-group-item'><a href=".esc_attr($item->url).">".esc_attr($item->title)."</a>";
    }

    function end_el( &$output, $item, $depth = 0, $args = array() ) {
        $output .= "</li>\n";
    }
}


次に、これを配列に追加し、テンプレート内でナビゲーションを呼び出しました...

<?php wp_nav_menu(array('menu' => 'HomeMenu','menu_class' => 'list-group special','menu_id' => '','walker' => new Custom_Walker_Nav_Menu)); ?>
関連記事

php - Laravelブレードテンプレートを使用してJSONコンテンツをループする正しい方法?

php - WPパンくずリストに「カテゴリ」を追加したい

php - ajax post request content-type application / formdata vs application / jsonのJSON文字列

javascript - データベースからデータを取得した後、Googleマップにマーカーを表示する

php - Yii urlManagerでドメインを書き換える方法

php - Facebook Debugでサイトマップ全体をバッチ処理する方法は?

javascript - サブグループを作成するドロップダウンチェックリスト

php - 他のウェブサイトのデータベースにアクセスするには? [重複]

php - 製品データに対するifステートメントは、両方のステートメントがtrueの場合

php - ドキュメント対応のajaxのjQueryがhtmlを挿入し、htmlがすぐに消える