Übergeordneter Link muss zum ersten untergeordneten Untermenü gehen

Ich benutze diesen Walker für das Menü in functions.php

 class main_menu_walker extends Walker_Nav_Menu { function start_el(&$output, $item, $depth, $args) { global $wp_query; $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $class_names = $value = ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ); $class_names = ' class="'. esc_attr( $class_names ) . ' nav-item"'; $output .= $indent . '
  • ID . '"' . $value . $class_names .'>'; $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $item_output = $args->before; if ( $args->walker->has_children && 0 === $depth ) { $item_output .= ''; } else { $item_output .= ''; } $item_output .= $args->link_before .apply_filters( 'the_title', $item->title, $item->ID ); $item_output .= ( $args->walker->has_children && 0 === $depth ) ? ' ' : ''; $item_output .= $args->after; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } }
  • Holen Sie sich dieses Strukturmenü :

      

    Wenn das übergeordnete Element ein Untermenü hat, wird es span

    Wie mache ich – klicke auf den Elternartikel und gehe zum ersten Kind?

    Aktualisieren

    Ich habe dieses Plugin gefunden . Seine Such-Child-Seite, die die erste function has_published_children gepostet function has_published_children . In meinem Menü kann sich die Position der Seiten ändern. Brauchen Sie function, um Seiten nicht nach Veröffentlichungsdatum, sondern nach Position im Menü zu suchen.

    Solutions Collecting From Web of "Übergeordneter Link muss zum ersten untergeordneten Untermenü gehen"

    Ich habe hier eine Lösung gefunden

    Vorlage für Elternseiten erstellen:

     < ?php /* Template Name: Redirect To First Child */ if ( have_posts() ) { while ( have_posts() ) { the_post(); $pagekids = get_pages( "child_of=" . $post->ID . "&sort_column=menu_order" ); $firstchild = $pagekids[0]; wp_redirect( get_permalink( $firstchild->ID ) ); } } ?>