Ticket #13958: 13958.2.patch
| File 13958.2.patch, 3.9 KB (added by , 15 years ago) |
|---|
-
wp-admin/css/nav-menu.dev.css
387 387 -khtml-border-radius: 3px; 388 388 } 389 389 390 #menu-to-edit .menu-item-invalid .menu-item-handle { 391 background-color: #f6c9cc; /* Fallback */ 392 background-image: -ms-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* IE10 */ 393 background-image: -moz-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* Firefox */ 394 background-image: -o-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* Opera */ 395 background-image: -webkit-gradient(linear, left bottom, left top, from(#f6c9cc), to(#fdf8ff)); /* old Webkit */ 396 background-image: -webkit-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* new Webkit */ 397 background-image: linear-gradient(bottom, #f6c9cc, #fdf8ff); /* proposed W3C Markup */ 398 } 399 390 400 .menu-item-edit-active .menu-item-handle { 391 401 -moz-border-radius: 3px 3px 0 0; 392 402 -webkit-border-bottom-right-radius: 0; -
wp-admin/includes/nav-menu.php
65 65 'menu-item-edit-' . ( ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? 'active' : 'inactive'), 66 66 ); 67 67 68 if ( isset( $item->_invalid ) ) 69 $classes[] = 'menu-item-invalid'; 70 68 71 $title = $item->title; 69 72 70 73 if ( isset( $item->post_status ) && 'draft' == $item->post_status ) { -
wp-includes/nav-menu.php
443 443 } 444 444 445 445 /** 446 * Returns if a menu item is valid. Bug #13958 447 * 448 * @since 3.2.0 449 * 450 * @param object $menu_item The menu item to check 451 * @return bool false if invalid, else true. 452 */ 453 function _is_valid_nav_menu_item( $item ) { 454 if( ! empty( $item->_invalid ) && $item->_invalid == true ) 455 return false; 456 457 return true; 458 } 459 460 /** 446 461 * Returns all menu items of a navigation menu. 447 462 * 448 463 * @since 3.0.0 … … 512 527 } 513 528 514 529 $items = array_map( 'wp_setup_nav_menu_item', $items ); 530 531 if ( ! in_array( $args['post_status'], array( 'draft', 'any' ) ) ) 532 $items = array_filter( $items, '_is_valid_nav_menu_item' ); 515 533 516 534 if ( ARRAY_A == $args['output'] ) { 517 535 $GLOBALS['_menu_item_sort_prop'] = $args['output_key']; … … 559 577 $menu_item->type = empty( $menu_item->type ) ? get_post_meta( $menu_item->ID, '_menu_item_type', true ) : $menu_item->type; 560 578 561 579 if ( 'post_type' == $menu_item->type ) { 562 $object = get_post_type_object( $menu_item->object ); 563 $menu_item->type_label = $object->labels->singular_name; 580 if ( post_type_exists( $menu_item->object ) ) { 581 $menu_item->type_label = get_post_type_object( $menu_item->object )->labels->singular_name; 582 } else { 583 $menu_item->type_label = $menu_item->object; 584 $menu_item->post_status = 'draft'; 585 $menu_item->_invalid = true; 586 } 587 564 588 $menu_item->url = get_permalink( $menu_item->object_id ); 565 589 566 590 $original_object = get_post( $menu_item->object_id ); … … 568 592 $menu_item->title = '' == $menu_item->post_title ? $original_title : $menu_item->post_title; 569 593 570 594 } elseif ( 'taxonomy' == $menu_item->type ) { 571 $object = get_taxonomy( $menu_item->object ); 572 $menu_item->type_label = $object->labels->singular_name; 595 if ( taxonomy_exists( $menu_item->object ) ) { 596 $menu_item->type_label = get_taxonomy( $menu_item->object )->labels->singular_name; 597 } else { 598 $menu_item->type_label = $menu_item->object; 599 $menu_item->post_status = 'draft'; 600 $menu_item->_invalid = true; 601 } 602 573 603 $term_url = get_term_link( (int) $menu_item->object_id, $menu_item->object ); 574 604 $menu_item->url = !is_wp_error( $term_url ) ? $term_url : ''; 575 605