Customizer: Introduce customize_nav_menu_available_item_types and customize_nav_menu_available_items filters.

Allows for new available menu item types/objects to be registered in addition to filtering the available items that are returned for each menu item type/object.

Props valendesigns, imath, westonruter.
See #32832.
Fixes #32708.


git-svn-id: https://develop.svn.wordpress.org/trunk@33366 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Weston Ruter
2015-07-22 20:28:03 +00:00
parent 2d85378c52
commit 9e383a560a
7 changed files with 266 additions and 172 deletions
+18 -2
View File
@@ -968,7 +968,6 @@ class WP_Customize_Nav_Menu_Item_Setting extends WP_Customize_Setting {
'post_title',
'post_type',
'to_ping',
'type_label',
);
foreach ( $irrelevant_properties as $property ) {
unset( $this->value[ $property ] );
@@ -1143,8 +1142,25 @@ class WP_Customize_Nav_Menu_Item_Setting extends WP_Customize_Setting {
}
if ( ! isset( $post->type_label ) ) {
$post->type_label = null;
if ( 'post_type' === $post->type ) {
$object = get_post_type_object( $post->object );
if ( $object ) {
$post->type_label = $object->labels->singular_name;
} else {
$post->type_label = $post->object;
}
} elseif ( 'taxonomy' == $post->type ) {
$object = get_taxonomy( $post->object );
if ( $object ) {
$post->type_label = $object->labels->singular_name;
} else {
$post->type_label = $post->object;
}
} else {
$post->type_label = __( 'Custom Link' );
}
}
return $post;
}