_sort_nav_menu_items

The timeline below displays how wordpress function _sort_nav_menu_items has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 4.9

/**
 * Sort menu items by the desired key.
 *
 * @since 3.0.0
 * @deprecated 4.7.0 Use wp_list_sort()
 * @access private
 *
 * @global string $_menu_item_sort_prop
 *
 * @param object $a The first object to compare
 * @param object $b The second object to compare
 * @return int -1, 0, or 1 if $a is considered to be respectively less than, equal to, or greater than $b.
 */
function _sort_nav_menu_items($a, $b)
{
    global $_menu_item_sort_prop;
    _deprecated_function(__FUNCTION__, '4.7.0', 'wp_list_sort()');
    if (empty($_menu_item_sort_prop)) {
        return 0;
    }
    if (!isset($a->{$_menu_item_sort_prop}) || !isset($b->{$_menu_item_sort_prop})) {
        return 0;
    }
    $_a = (int) $a->{$_menu_item_sort_prop};
    $_b = (int) $b->{$_menu_item_sort_prop};
    if ($a->{$_menu_item_sort_prop} == $b->{$_menu_item_sort_prop}) {
        return 0;
    } elseif ($_a == $a->{$_menu_item_sort_prop} && $_b == $b->{$_menu_item_sort_prop}) {
        return ($_a < $_b) ? -1 : 1;
    } else {
        return strcmp($a->{$_menu_item_sort_prop}, $b->{$_menu_item_sort_prop});
    }
}

WordPress Version: 4.7

/**
 * Sort menu items by the desired key.
 *
 * @since 3.0.0
 * @deprecated 4.7.0 Use wp_list_sort()
 * @access private
 *
 * @global string $_menu_item_sort_prop
 *
 * @param object $a The first object to compare
 * @param object $b The second object to compare
 * @return int -1, 0, or 1 if $a is considered to be respectively less than, equal to, or greater than $b.
 */
function _sort_nav_menu_items($a, $b)
{
    global $_menu_item_sort_prop;
    _deprecated_function(__FUNCTION__, '4.7.0', 'wp_list_sort');
    if (empty($_menu_item_sort_prop)) {
        return 0;
    }
    if (!isset($a->{$_menu_item_sort_prop}) || !isset($b->{$_menu_item_sort_prop})) {
        return 0;
    }
    $_a = (int) $a->{$_menu_item_sort_prop};
    $_b = (int) $b->{$_menu_item_sort_prop};
    if ($a->{$_menu_item_sort_prop} == $b->{$_menu_item_sort_prop}) {
        return 0;
    } elseif ($_a == $a->{$_menu_item_sort_prop} && $_b == $b->{$_menu_item_sort_prop}) {
        return ($_a < $_b) ? -1 : 1;
    } else {
        return strcmp($a->{$_menu_item_sort_prop}, $b->{$_menu_item_sort_prop});
    }
}

WordPress Version: 4.3

/**
 * Sort menu items by the desired key.
 *
 * @since 3.0.0
 * @access private
 *
 * @global string $_menu_item_sort_prop
 *
 * @param object $a The first object to compare
 * @param object $b The second object to compare
 * @return int -1, 0, or 1 if $a is considered to be respectively less than, equal to, or greater than $b.
 */
function _sort_nav_menu_items($a, $b)
{
    global $_menu_item_sort_prop;
    if (empty($_menu_item_sort_prop)) {
        return 0;
    }
    if (!isset($a->{$_menu_item_sort_prop}) || !isset($b->{$_menu_item_sort_prop})) {
        return 0;
    }
    $_a = (int) $a->{$_menu_item_sort_prop};
    $_b = (int) $b->{$_menu_item_sort_prop};
    if ($a->{$_menu_item_sort_prop} == $b->{$_menu_item_sort_prop}) {
        return 0;
    } elseif ($_a == $a->{$_menu_item_sort_prop} && $_b == $b->{$_menu_item_sort_prop}) {
        return ($_a < $_b) ? -1 : 1;
    } else {
        return strcmp($a->{$_menu_item_sort_prop}, $b->{$_menu_item_sort_prop});
    }
}

WordPress Version: 3.7

/**
 * Sort menu items by the desired key.
 *
 * @since 3.0.0
 * @access private
 *
 * @param object $a The first object to compare
 * @param object $b The second object to compare
 * @return int -1, 0, or 1 if $a is considered to be respectively less than, equal to, or greater than $b.
 */
function _sort_nav_menu_items($a, $b)
{
    global $_menu_item_sort_prop;
    if (empty($_menu_item_sort_prop)) {
        return 0;
    }
    if (!isset($a->{$_menu_item_sort_prop}) || !isset($b->{$_menu_item_sort_prop})) {
        return 0;
    }
    $_a = (int) $a->{$_menu_item_sort_prop};
    $_b = (int) $b->{$_menu_item_sort_prop};
    if ($a->{$_menu_item_sort_prop} == $b->{$_menu_item_sort_prop}) {
        return 0;
    } elseif ($_a == $a->{$_menu_item_sort_prop} && $_b == $b->{$_menu_item_sort_prop}) {
        return ($_a < $_b) ? -1 : 1;
    } else {
        return strcmp($a->{$_menu_item_sort_prop}, $b->{$_menu_item_sort_prop});
    }
}