diff --git src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php
index 1399a43edc..93242da786 100644
|
|
class WP_Customize_Nav_Menu_Item_Setting extends WP_Customize_Setting { |
605 | 605 | $item->post_title = $item->title; |
606 | 606 | } |
607 | 607 | |
| 608 | // 'classes' should be an array, as in wp_setup_nav_menu_item(). |
| 609 | if ( isset( $item->classes ) && is_string( $item->classes ) ) { |
| 610 | $item->classes = explode( ' ', $item->classes ); |
| 611 | } |
| 612 | |
608 | 613 | $item->ID = $this->post_id; |
609 | 614 | $item->db_id = $this->post_id; |
610 | 615 | $post = new WP_Post( (object) $item ); |
diff --git tests/phpunit/tests/customize/nav-menu-item-setting.php tests/phpunit/tests/customize/nav-menu-item-setting.php
index c80ce613b4..b06003494e 100644
|
|
class Test_WP_Customize_Nav_Menu_Item_Setting extends WP_UnitTestCase { |
904 | 904 | 'target' => '', |
905 | 905 | 'attr_title' => '">att \o/ o\'o empted <b>baddie</b>', |
906 | 906 | 'description' => 'Attempted \o/ o\'o <b>markup</b>', |
907 | | 'classes' => '', |
| 907 | 'classes' => 'class-1 class-2', |
908 | 908 | 'xfn' => '', |
909 | 909 | 'status' => 'publish', |
910 | 910 | 'original_title' => '', |
… |
… |
class Test_WP_Customize_Nav_Menu_Item_Setting extends WP_UnitTestCase { |
938 | 938 | $expected = apply_filters( 'nav_menu_attr_title', wp_unslash( apply_filters( 'excerpt_save_pre', wp_slash( $post_value['attr_title'] ) ) ) ); |
939 | 939 | $this->assertEquals( $expected, $nav_menu_item->attr_title ); |
940 | 940 | $this->assertEquals( 'Attempted \o/ o’o markup', $nav_menu_item->description ); |
| 941 | $this->assertSame( array( 'class-1', 'class-2' ), $nav_menu_item->classes ); |
941 | 942 | } |
942 | 943 | |
943 | 944 | /** |