Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit a11a93a

Browse files
committedJan 12, 2017
handle an edge case in detecting the next menu item
1 parent 4294fa9 commit a11a93a

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed
 

‎functions.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ function get_next_menu_item( $menu_name ) {
3030
$menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
3131
$menuitems = wp_get_nav_menu_items( $menu->term_id, array( 'order' => 'DESC' ) );
3232
$i = -1;
33+
$next_id = -1;
3334
foreach ( $menuitems as $item ) {
3435
$i++;
3536
$id = get_post_meta( $item->ID, '_menu_item_object_id', true );
@@ -38,8 +39,11 @@ function get_next_menu_item( $menu_name ) {
3839
}
3940
}
4041
$next = false;
41-
if ( count( $menuitems ) > $next_id + 1 ) {
42-
$next = $menuitems[ $next_id + 1 ];
42+
if ( -1 === $next_id ) {
43+
$next = $menuitems[0];
44+
}
45+
if ( count( $menuitems ) > $next_id + 1 ) {
46+
$next = $menuitems[ $next_id + 1 ];
4347
}
4448
if ( $next ) {
4549
$next = get_post_meta( $next->ID, '_menu_item_object_id', true );
@@ -55,6 +59,7 @@ function get_previous_menu_item( $menu_name ) {
5559
$menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
5660
$menuitems = wp_get_nav_menu_items( $menu->term_id, array( 'order' => 'DESC' ) );
5761
$i = -1;
62+
$next_id = -1;
5863
foreach ( $menuitems as $item ) {
5964
$i++;
6065
$id = get_post_meta( $item->ID, '_menu_item_object_id', true );
@@ -63,6 +68,9 @@ function get_previous_menu_item( $menu_name ) {
6368
}
6469
}
6570
$next = false;
71+
if ( -1 === $next_id ) {
72+
return false;
73+
}
6674
if ( $next_id > 0 ) {
6775
$next = $menuitems[ $next_id - 1 ];
6876
}

0 commit comments

Comments
 (0)
Failed to load comments.