Ticket #40178: 40178.2.patch
File 40178.2.patch, 3.7 KB (added by , 7 years ago) |
---|
-
src/wp-admin/css/nav-menus.css
460 460 border-color: #f1acb1; 461 461 } 462 462 463 #menu-to-edit .menu-item-unpublished .menu-item-handle { 464 background: #fff8e5; 465 border-color: #ffb900; 466 } 467 463 468 .no-js .menu-item-edit-active .item-edit { 464 469 display: none; 465 470 } -
src/wp-admin/includes/class-walker-nav-menu-edit.php
101 101 $classes[] = 'pending'; 102 102 /* translators: %s: title of menu item in draft status */ 103 103 $title = sprintf( __('%s (Pending)'), $item->title ); 104 } elseif ( 'post_type' === $item->type && 'publish' !== get_post_status( $item->object_id ) ) { 105 $classes[] = 'menu-item-unpublished'; 106 /* translators: %s: title of menu item which is unpublished */ 107 $title = sprintf( __( '%s (Unpublished)' ), $item->title ); 104 108 } 105 109 106 110 $title = ( ! isset( $item->label ) || '' == $item->label ) ? $title : $item->label; -
src/wp-admin/includes/nav-menu.php
938 938 ); 939 939 } 940 940 941 $some_pending_menu_items = $some_invalid_menu_items = false;941 $some_pending_menu_items = $some_invalid_menu_items = $some_unpublished_menu_items = false; 942 942 foreach ( (array) $menu_items as $menu_item ) { 943 if ( isset( $menu_item->post_status ) && 'draft' == $menu_item->post_status ) 944 $some_pending_menu_items = true; 945 if ( ! empty( $menu_item->_invalid ) ) 943 if ( isset( $menu_item->post_status ) && 'draft' == $menu_item->post_status ) { 944 $some_pending_menu_items = true; 945 } 946 947 if ( ! empty( $menu_item->_invalid ) ) { 946 948 $some_invalid_menu_items = true; 949 } 950 951 if ( 'post_type' === $menu_item->type && 'publish' !== get_post_status( $menu_item->object_id ) ) { 952 $some_unpublished_menu_items = true; 953 } 947 954 } 948 955 949 956 if ( $some_pending_menu_items ) { … … 954 961 $result .= '<div class="notice notice-error notice-alt inline"><p>' . __( 'There are some invalid menu items. Please check or delete them.' ) . '</p></div>'; 955 962 } 956 963 964 if ( $some_unpublished_menu_items ) { 965 $result .= '<div class="notice notice-warning notice-alt inline"><p>' . __( 'Some menu items are unpublished. They will not appear until published.' ) . '</p></div>'; 966 } 967 957 968 $result .= '<ul class="menu" id="menu-to-edit"> '; 958 969 $result .= walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $menu_items), 0, (object) array('walker' => $walker ) ); 959 970 $result .= ' </ul> '; -
src/wp-includes/nav-menu.php
574 574 } 575 575 576 576 /** 577 * Determine if a menu item is published. 578 * 579 * @link https://core.trac.wordpress.org/ticket/13958 580 * 581 * @since 4.8.0 582 * @access private 583 * 584 * @param object $item The menu item to check. 585 * @return bool False if invalid, otherwise true. 586 */ 587 function _is_published_nav_menu_item( $item ) { 588 return 'publish' === get_post_status( $item->object_id ); 589 } 590 591 /** 577 592 * Return all menu items of a navigation menu. 578 593 * 579 594 * @since 3.0.0 … … 648 663 649 664 if ( ! is_admin() ) { // Remove invalid items only in front end 650 665 $items = array_filter( $items, '_is_valid_nav_menu_item' ); 666 $items = array_filter( $items, '_is_published_nav_menu_item' ); 651 667 } 652 668 653 669 if ( ARRAY_A == $args['output'] ) {