Stellen Sie die Elternseite nur auf die erste Unterseite

Ich möchte automatisch jede übergeordnete Seite Link zu seiner ersten Unterseite, wenn es eine hat. Wie so:

  • Eltern 1 (/ # Unterseite 1)
    • Unterseite 1 (/ # Unterseite-1)
    • Unterseite 2 (/ # Unterseite 2)
    • Unterseite 3 (/ # Unterseite-3)
  • Eltern 2 (/ Eltern-2)
  • Eltern 3 (/ Eltern-3)

Ich habe Code gefunden, der alle übergeordneten Links über einen komplizierten nav () –Walker findet. Von hier bin ich nicht sicher, wie man die erste childs URL findet. Ich nahm an, es wäre so

$children_elements[0]->url

aber es scheint nicht der Fall zu sein.

 class Themeslug_Page_Navigation_Walker extends Walker_Nav_Menu { function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) { $id_field = $this->db_fields['id']; if ( !empty( $children_elements[ $element->$id_field ] ) ) { $element->url = "Where do I get the child URL?"; } Walker_Nav_Menu::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); } } 

Solutions Collecting From Web of "Stellen Sie die Elternseite nur auf die erste Unterseite"

 class Themeslug_Page_Navigation_Walker extends Walker_Nav_Menu { function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) { $id_field = $this->db_fields['id']; if ( !empty( $children_elements[ $element->$id_field ] ) ) { $element->url = $children_elements[$element->$id_field][0]->url; } Walker_Nav_Menu::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); } } 

Das hat den Trick gemacht.