Changeset 14283 for trunk/wp-includes/nav-menu.php
- Timestamp:
- 04/28/2010 06:30:32 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/nav-menu.php
r14270 r14283 51 51 $menu_obj = wp_get_nav_menu_object( $menu ); 52 52 53 if ( $menu_obj && ! is_wp_error( $menu_obj ) && ! empty( $menu_obj->term_id ) ) 53 if ( 54 $menu_obj && 55 ! is_wp_error( $menu_obj ) && 56 ! empty( $menu_obj->taxonomy ) && 57 'nav_menu' == $menu_obj->taxonomy 58 ) 54 59 return true; 55 60 … … 144 149 * @param int $menu_id The ID of the menu 145 150 * @param array $menu_data The array of menu data. 146 * @return int The menu's ID.151 * @return int|error object The menu's ID or WP_Error object. 147 152 */ 148 153 function wp_update_nav_menu_object( $menu_id = 0, $menu_data = array() ) { … … 152 157 153 158 // menu doesn't already exist 154 if ( ! $_menu || is_wp_error( $_menu ) ) {159 if ( ! $_menu || is_wp_error( $_menu ) ) 155 160 $_menu = wp_create_nav_menu( $menu_data['menu-name'] ); 156 } 157 158 if ( $_menu && isset( $_menu->term_id ) && ! is_wp_error( $_menu ) ) { 161 162 if ( is_wp_error( $_menu ) ) 163 return $_menu; 164 165 if ( $_menu && isset( $_menu->term_id ) ) { 159 166 $args = array( 160 167 'description' => ( isset( $menu_data['description'] ) ? $menu_data['description'] : '' ), … … 168 175 $update_response = wp_update_term( $menu_id, 'nav_menu', $args ); 169 176 170 if ( ! is_wp_error( $update_response ) ) {177 if ( ! is_wp_error( $update_response ) ) 171 178 return $menu_id; 172 } 179 else 180 return $update_response; 173 181 } else { 174 182 return 0; … … 238 246 } 239 247 248 if ( 'custom' != $args['menu-item-type'] ) { 249 /* if non-custom menu item, then: 250 * use original object's URL 251 * blank default title to sync with original object's 252 */ 253 254 $args['menu-item-url'] = ''; 255 256 $original_title = ''; 257 if ( 'taxonomy' == $args['menu-item-type'] ) { 258 $original_title = get_term_field( 'name', $args['menu-item-object-id'], $args['menu-item-object'], 'raw' ); 259 } elseif ( 'post_type' == $args['menu-item-type'] ) { 260 $original_object = get_post( $args['menu-item-object-id'] ); 261 $original_title = $original_object->post_title; 262 } 263 264 if ( empty( $args['menu-item-title'] ) || $args['menu-item-title'] == $original_title ) { 265 $args['menu-item-title'] = ''; 266 267 // hack to get wp to create a post object when too many properties are empty 268 if ( empty( $args['menu-item-description'] ) ) { 269 $args['menu-item-description'] = ' '; 270 } 271 } 272 } 273 240 274 // Populate the menu item object 241 275 $post = array( … … 363 397 364 398 $items = get_posts( $args ); 399 400 if ( is_wp_error( $items ) || ! is_array( $items ) ) { 401 return false; 402 } 403 404 $items = array_map( 'wp_setup_nav_menu_item', $items ); 365 405 366 406 if ( ARRAY_A == $args['output'] ) { … … 411 451 $menu_item->append = $object->singular_label; 412 452 $menu_item->url = get_permalink( $menu_item->object_id ); 453 454 $original_object = get_post( $menu_item->object_id ); 455 $original_title = $original_object->post_title; 456 $menu_item->title = '' == $menu_item->post_title ? $original_title : $menu_item->post_title; 413 457 414 458 } elseif ( 'taxonomy' == $menu_item->type ) { … … 417 461 $menu_item->url = get_term_link( (int) $menu_item->object_id, $menu_item->object ); 418 462 463 $original_title = get_term_field( 'name', $menu_item->object_id, $menu_item->object, 'raw' ); 464 $menu_item->title = '' == $menu_item->post_title ? $original_title : $menu_item->post_title; 465 419 466 } else { 420 467 $menu_item->append = __('Custom'); 468 $menu_item->title = $menu_item->post_title; 421 469 $menu_item->url = get_post_meta( $menu_item->ID, '_menu_item_url', true ); 422 470 } 423 471 424 $menu_item->title = $menu_item->post_title;425 472 $menu_item->target = get_post_meta( $menu_item->ID, '_menu_item_target', true ); 426 473
Note: See TracChangeset
for help on using the changeset viewer.