mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-06-28 14:20:15 +00:00
Customizer: Ensure that all existing menus are shown in the Custom Menu widget's dropdown.
* Ensure that a Custom Menu widget selecting a newly-inserted menu gets updated to use the new menu ID upon Save & Publish. * Dynamically update the visibility of the Custom Menu widget's "no menus" message when the number of menus changes between 0 and 1+. * Send all dirty Customized settings in `update-widget` Ajax request and `preview()` them so that the widget update/form callbacks have access to any data dependencies in the current Customizer session (such as newly created unsaved menus). * Update link in Custom Menu widget to point to Menus panel as opposed to Menus admin page, when in the Customizer. * Fix an issue with extra space at top immediately after creating new menu. * Fix doubled `update-widget` Ajax requests when changing select dropdown; prevent initial from being aborted. * Add missing `wp_get_nav_menus()` hooks to preview Customizer updates/inserts for `nav_menu` settings; includes tests. * Update `wp_get_nav_menu_object()` to allow a menu object to be passed in (and thus passed through). Props westonruter, adamsilverstein. Fixes #32814. git-svn-id: https://develop.svn.wordpress.org/trunk@33488 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -211,6 +211,13 @@ class Test_WP_Customize_Nav_Menu_Setting extends WP_UnitTestCase {
|
||||
|
||||
$nav_menu_options = get_option( 'nav_menu_options', array( 'auto_add' => array() ) );
|
||||
$this->assertContains( $menu_id, $nav_menu_options['auto_add'] );
|
||||
|
||||
$menus = wp_get_nav_menus();
|
||||
$menus_ids = wp_list_pluck( $menus, 'term_id' );
|
||||
$i = array_search( $menu_id, $menus_ids );
|
||||
$this->assertNotFalse( $i, 'Update-previewed menu does not appear in wp_get_nav_menus()' );
|
||||
$filtered_menu = $menus[ $i ];
|
||||
$this->assertEquals( 'Name 2', $filtered_menu->name );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -249,6 +256,13 @@ class Test_WP_Customize_Nav_Menu_Setting extends WP_UnitTestCase {
|
||||
|
||||
$nav_menu_options = $this->get_nav_menu_items_option();
|
||||
$this->assertNotContains( $menu_id, $nav_menu_options['auto_add'] );
|
||||
|
||||
$menus = wp_get_nav_menus();
|
||||
$menus_ids = wp_list_pluck( $menus, 'term_id' );
|
||||
$i = array_search( $menu_id, $menus_ids );
|
||||
$this->assertNotFalse( $i, 'Insert-previewed menu was not injected into wp_get_nav_menus()' );
|
||||
$filtered_menu = $menus[ $i ];
|
||||
$this->assertEquals( 'New Menu Name 1', $filtered_menu->name );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user