// Make sure the menu objects get re-sorted after an update/insert.
if ( ! $is_delete && ! empty( $args['orderby'] ) ) {
- $this->_current_menus_sort_orderby = $args['orderby'];
- usort( $menus, array( $this, '_sort_menus_by_orderby' ) );
+ $menus = wp_list_sort( $menus, array(
+ $args['orderby'] => 'ASC',
+ ) );
}
// @todo add support for $args['hide_empty'] === true
* This is a workaround for a lack of closures.
*
* @since 4.3.0
+ * @deprecated 4.7.0 Use wp_list_sort()
* @access protected
+ *
* @param object $menu1
* @param object $menu2
* @return int
* @see WP_Customize_Nav_Menu_Setting::filter_wp_get_nav_menus()
*/
protected function _sort_menus_by_orderby( $menu1, $menu2 ) {
+ _deprecated_function( __METHOD__, '4.7.0', 'wp_list_sort' );
+
$key = $this->_current_menus_sort_orderby;
return strcmp( $menu1->$key, $menu2->$key );
}