web-dev-qa-db-ja.com

Walkerクラスのルート要素数を取得する

以下のようにWalker_Nav_Menuクラスを拡張しました

class YPE_custom_navwalker extends Walker_Nav_Menu{}

私の新しいクラスYPE_custom_navwalker内のWalkerクラスに配置するget_number_of_root_elements( $elements )関数を使いたい

私はstart_el関数内のルート要素の数を表示するためにその関数を使用したいです。

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

これがあなたが求めているものかどうかはわかりません。現在のwalkerインスタンスを参照するために$thisを使用できます。

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