web-dev-qa-db-fra.com

Obtenir le nombre d'éléments racines dans la classe de marcheur

J'ai étendu la classe Walker_Nav_Menu comme ci-dessous

class YPE_custom_navwalker extends Walker_Nav_Menu{}

Je veux utiliser la fonction get_number_of_root_elements( $elements ) qui se trouve dans la classe Walker dans ma nouvelle classe YPE_custom_navwalker

je veux utiliser cette fonction pour afficher le nombre d'éléments racine dans la fonction start_el. J'ai utilisé ce code ci-dessous, mais ne fonctionne pas.

echo $args->walker->get_number_of_root_elements($elements);
1
Shwan Namiq

Je ne sais pas si c'est ce que vous recherchez. Vous pouvez utiliser $this pour référencer l'instance actuelle du walker.

class YPE_custom_navwalker extends Walker_Nav_Menu {
    public function start_lvl(&$output, $depth=0, $args=array()) {

        $items = wp_get_nav_menu_items( $args->menu->term_id );
        echo $this->get_number_of_root_elements( $items );

        parent::start_lvl(&$output, $depth,$args);
    }
}
2
Milo