Change the default orderby value in wp_get_nav_menus() to 'name'.

props voldemortensen, igmoweb.
fixes #29460.

git-svn-id: https://develop.svn.wordpress.org/trunk@29792 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2014-09-29 15:44:26 +00:00
parent 8cc322b073
commit f6753a316a
5 changed files with 27 additions and 4 deletions

View File

@ -380,7 +380,7 @@ switch ( $action ) {
}
// Get all nav menus.
$nav_menus = wp_get_nav_menus( array('orderby' => 'name') );
$nav_menus = wp_get_nav_menus();
$menu_count = count( $nav_menus );
// Are we on the add new screen?

View File

@ -1344,7 +1344,7 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
$nav_menu = isset( $instance['nav_menu'] ) ? $instance['nav_menu'] : '';
// Get menus
$menus = wp_get_nav_menus( array( 'orderby' => 'name' ) );
$menus = wp_get_nav_menus();
// If no menus exists, direct the user to go and create some.
if ( !$menus ) {

View File

@ -277,7 +277,7 @@ function wp_nav_menu( $args = array() ) {
// get the first menu that has items if we still can't find a menu
if ( ! $menu && !$args->theme_location ) {
$menus = wp_get_nav_menus( array( 'orderby' => 'name' ) );
$menus = wp_get_nav_menus();
foreach ( $menus as $menu_maybe ) {
if ( $menu_items = wp_get_nav_menu_items( $menu_maybe->term_id, array( 'update_post_term_cache' => false ) ) ) {
$menu = $menu_maybe;

View File

@ -465,7 +465,7 @@ function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item
* @return array menu objects
*/
function wp_get_nav_menus( $args = array() ) {
$defaults = array( 'hide_empty' => false, 'orderby' => 'none' );
$defaults = array( 'hide_empty' => false, 'orderby' => 'name' );
$args = wp_parse_args( $args, $defaults );
/**

View File

@ -116,4 +116,27 @@ class Test_Nav_Menus extends WP_UnitTestCase {
$this->assertEquals( 'WordPress.org', $custom_item->title );
}
/**
* @ticket 29460
*/
function test_orderby_name_by_default() {
// We are going to create a random number of menus (min 2, max 10)
$menus_no = rand( 2, 10 );
for ( $i = 0; $i <= $menus_no; $i++ ) {
wp_create_nav_menu( rand_str() );
}
// This is the expected array of menu names
$expected_nav_menus_names = wp_list_pluck(
get_terms( 'nav_menu', array( 'hide_empty' => false, 'orderby' => 'name' ) ),
'name'
);
// And this is what we got when calling wp_get_nav_menus()
$nav_menus_names = wp_list_pluck( wp_get_nav_menus(), 'name' );
$this->assertEquals( $nav_menus_names, $expected_nav_menus_names );
}
}