X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/f9001779751f83dc8a10e478bfecb4d8dd5f964c..5aa86a9053fb0fa15846bb60aac2fb8fdfff524a:/wp-admin/includes/nav-menu.php diff --git a/wp-admin/includes/nav-menu.php b/wp-admin/includes/nav-menu.php index 6e929286..7c338027 100644 --- a/wp-admin/includes/nav-menu.php +++ b/wp-admin/includes/nav-menu.php @@ -54,6 +54,8 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { $original_title = ''; if ( 'taxonomy' == $item->type ) { $original_title = get_term_field( 'name', $item->object_id, $item->object, 'raw' ); + if ( is_wp_error( $original_title ) ) + $original_title = false; } elseif ( 'post_type' == $item->type ) { $original_object = get_post( $item->object_id ); $original_title = $original_object->post_title; @@ -67,7 +69,11 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { $title = $item->title; - if ( isset( $item->post_status ) && 'draft' == $item->post_status ) { + if ( ! empty( $item->_invalid ) ) { + $classes[] = 'menu-item-invalid'; + /* translators: %s: title of menu item which is invalid */ + $title = sprintf( __( '%s (Invalid)' ), $item->title ); + } elseif ( isset( $item->post_status ) && 'draft' == $item->post_status ) { $classes[] = 'pending'; /* translators: %s: title of menu item in draft status */ $title = sprintf( __('%s (Pending)'), $item->title ); @@ -82,7 +88,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { type_label ); ?> - + - @@ -137,13 +143,10 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {

-

@@ -167,7 +170,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {

@@ -207,6 +210,21 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { * @uses Walker_Nav_Menu */ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu { + function __construct( $fields = false ) { + if ( $fields ) { + $this->db_fields = $fields; + } + } + + function start_lvl( &$output, $depth ) { + $indent = str_repeat( "\t", $depth ); + $output .= "\n$indent"; + } /** * @see Walker::start_el() @@ -319,7 +337,8 @@ function _wp_ajax_menu_quick_search( $request = array() ) { while ( have_posts() ) { the_post(); if ( 'markup' == $response_format ) { - echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( get_post( $var_by_ref = get_the_ID() ) ) ), 0, (object) $args ); + $var_by_ref = get_the_ID(); + echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( get_post( $var_by_ref ) ) ), 0, (object) $args ); } elseif ( 'json' == $response_format ) { echo json_encode( array( @@ -614,7 +633,12 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) { if ( !$posts ) $error = '
  • '. $post_type['args']->labels->not_found .'
  • '; - $walker = new Walker_Nav_Menu_Checklist; + $db_fields = false; + if ( is_post_type_hierarchical( $post_type_name ) ) { + $db_fields = array( 'parent' => 'post_parent', 'id' => 'ID' ); + } + + $walker = new Walker_Nav_Menu_Checklist( $db_fields ); $current_tab = 'most-recent'; if ( isset( $_REQUEST[$post_type_name . '-tab'] ) && in_array( $_REQUEST[$post_type_name . '-tab'], array('all', 'search') ) ) { @@ -670,7 +694,7 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) {

    - + 'submit-quick-search-posttype-' . $post_type_name ) ); ?>