X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/542cf06a610bc430421351ace7a2cc45f393b990..80e421fa26a0ef412d7c67749a64a6c1919d515a:/wp-admin/includes/nav-menu.php diff --git a/wp-admin/includes/nav-menu.php b/wp-admin/includes/nav-menu.php index 8c8e9697..60644628 100644 --- a/wp-admin/includes/nav-menu.php +++ b/wp-admin/includes/nav-menu.php @@ -7,13 +7,12 @@ * @since 3.0.0 * @uses Walker_Nav_Menu */ -class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { +class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { /** * @see Walker_Nav_Menu::start_lvl() * @since 3.0.0 * * @param string $output Passed by reference. - * @param int $depth Depth of page. */ function start_lvl(&$output) {} @@ -22,7 +21,6 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { * @since 3.0.0 * * @param string $output Passed by reference. - * @param int $depth Depth of page. */ function end_lvl(&$output) { } @@ -34,7 +32,6 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { * @param string $output Passed by reference. Used to append additional content. * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. - * @param int $current_page Menu item ID. * @param object $args */ function start_el(&$output, $item, $depth, $args) { @@ -57,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; @@ -70,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 ); @@ -85,7 +88,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { type_label ); ?> - + - @@ -140,13 +143,10 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {

-

@@ -164,13 +164,13 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {

@@ -209,7 +209,22 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { * @since 3.0.0 * @uses Walker_Nav_Menu */ -class Walker_Nav_Menu_Checklist extends 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() @@ -218,7 +233,6 @@ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu { * @param string $output Passed by reference. Used to append additional content. * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. - * @param int $current_page Menu item ID. * @param object $args */ function start_el(&$output, $item, $depth, $args) { @@ -233,11 +247,12 @@ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu { $output .= $indent . '
  • '; $output .= ''; // Menu item hidden fields @@ -249,7 +264,6 @@ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu { $output .= ''; $output .= ''; $output .= ''; - $output .= ''; $output .= ''; $output .= ''; } @@ -311,7 +325,6 @@ function _wp_ajax_menu_quick_search( $request = array() ) { } - } elseif ( preg_match('/quick-search-(posttype|taxonomy)-([a-zA-Z_-]*\b)/', $type, $matches) ) { if ( 'posttype' == $matches[1] && get_post_type_object( $matches[2] ) ) { query_posts(array( @@ -324,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( @@ -498,8 +512,8 @@ function wp_nav_menu_locations_meta_box() { } ?>

    - - class="button-primary" name="nav-menu-locations" value="" /> + +

    - - class="button-secondary submit-add-to-menu" value="" name="add-custom-menu-item" id="submit-customlinkdiv" /> + class="button-secondary submit-add-to-menu right" value="" name="add-custom-menu-item" id="submit-customlinkdiv" /> +

    @@ -619,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') ) ) { @@ -652,7 +671,7 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) { ?>">