Don't use target="_self" in nav menu links, just omit the attribute. Also fix and run earlier db upgrades. fixes #12808

git-svn-id: http://svn.automattic.com/wordpress/trunk@13974 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
nacin 2010-04-03 22:52:30 +00:00
parent 05065a4d46
commit 589997d8cb
10 changed files with 26 additions and 30 deletions

View File

@ -1416,7 +1416,7 @@ case 'save-custom-link':
update_post_meta( $link_id, '_menu_item_type', 'custom' );
update_post_meta( $link_id, '_menu_item_object_id', (int) $link_id );
update_post_meta( $link_id, '_menu_item_object', 'custom' );
update_post_meta( $link_id, '_menu_item_target', '_self' );
update_post_meta( $link_id, '_menu_item_target', '' );
update_post_meta( $link_id, '_menu_item_classes', '' );
update_post_meta( $link_id, '_menu_item_xfn', '' );
update_post_meta( $link_id, '_menu_item_url', $link_url );

View File

@ -440,7 +440,7 @@ function upgrade_all() {
if ( $wp_current_db_version < 11958 )
upgrade_290();
if ( $wp_current_db_version < 12751 )
if ( $wp_current_db_version < 13974 )
upgrade_300();
maybe_disable_automattic_widgets();
@ -1114,25 +1114,21 @@ function upgrade_300() {
add_site_option( 'siteurl', '' );
}
// 3.0-alpha nav menu postmeta changes. can be removed before release
if ( $wp_current_db_version >= 13226 && $wp_current_db_version < 13802 ) {
// remove old nav menu post meta keys
$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key IN( 'menu_type', 'object_id', 'menu_new_window', 'menu_link', '_menu_item_append', 'menu_item_append' )" );
// update nav menu post meta keys to underscore prefixes
$wpdb->update( $wpdb->postmeta, array( 'meta_key' => '_menu_item_type' ), array( 'meta_key' => 'menu_item_type' ) );
$wpdb->update( $wpdb->postmeta, array( 'meta_key' => '_menu_item_object_id' ), array( 'meta_key' => 'menu_item_object_id' ) );
$wpdb->update( $wpdb->postmeta, array( 'meta_key' => '_menu_item_target' ), array( 'meta_key' => 'menu_item_target' ) );
$wpdb->update( $wpdb->postmeta, array( 'meta_key' => '_menu_item_classes' ), array( 'meta_key' => 'menu_item_classes' ) );
$wpdb->update( $wpdb->postmeta, array( 'meta_key' => '_menu_item_xfn' ), array( 'meta_key' => 'menu_item_xfn' ) );
$wpdb->update( $wpdb->postmeta, array( 'meta_key' => '_menu_item_url' ), array( 'meta_key' => 'menu_item_url' ) );
}
// 3.0-alpha nav menu postmeta changes. can be removed before release. // r13802
if ( $wp_current_db_version >= 13226 && $wp_current_db_version < 13974 )
$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key IN( 'menu_type', 'object_id', 'menu_new_window', 'menu_link', '_menu_item_append', 'menu_item_append', 'menu_item_type', 'menu_item_object_id', 'menu_item_target', 'menu_item_classes', 'menu_item_xfn', 'menu_item_url' )" );
// 3.0-beta1 remove_user primitive->meta cap. can be removed before release
if ( $wp_current_db_version >= 12751 && $wp_current_db_version < 12751 ) {
// 3.0-beta1 remove_user primitive->meta cap. can be removed before release. r13956
if ( $wp_current_db_version >= 12751 && $wp_current_db_version < 13974 ) {
$role =& get_role( 'administrator' );
if ( ! empty( $role ) )
$role->remove_cap( 'remove_user' );
}
// 3.0-beta1 nav menu postmeta changes. can be removed before release. r13974
if ( $wp_current_db_version >= 13802 && $wp_current_db_version < 13974 )
$wpdb->update( $wpdb->postmeta, array( 'meta_value' => '' ), array( 'meta_key' => '_menu_item_target', 'meta_value' => '_self' ) );
}
/**

View File

@ -151,7 +151,7 @@ var wpNavMenu;
if ( '-1' == link_id )
return;
wpNavMenu.add_to_menu( link_id, link_id, 'custom', 'custom', navMenuL10n.custom, 0, link_name, link_url, '', '', '_self', '', '' );
wpNavMenu.add_to_menu( link_id, link_id, 'custom', 'custom', navMenuL10n.custom, 0, link_name, link_url, '', '', '', '', '' );
}, 'json');
},
@ -429,7 +429,7 @@ var wpNavMenu;
var item_xfn = $(this).parent().siblings('.menu-item-xfn').val();
} else {
var item_attr_title = '';
var item_target = '_self';
var item_target = '';
var item_classes = '';
var item_xfn = '';
};

File diff suppressed because one or more lines are too long

View File

@ -128,7 +128,7 @@ switch ( $action ) {
$menu_item_url = isset( $_POST['menu-item-url'][$k] ) ? $_POST['menu-item-url'][$k] : '';
$menu_item_description = isset( $_POST['menu-item-description'][$k] ) ? $_POST['menu-item-description'][$k] : '';
$menu_item_attr_title = isset( $_POST['menu-item-attr-title'][$k] ) ? $_POST['menu-item-attr-title'][$k] : '';
$menu_item_target = isset( $_POST['menu-item-target'][$k] ) ? $_POST['menu-item-target'][$k] : '_self';
$menu_item_target = isset( $_POST['menu-item-target'][$k] ) ? $_POST['menu-item-target'][$k] : '';
$menu_item_classes = isset( $_POST['menu-item-classes'][$k] ) ? $_POST['menu-item-classes'][$k] : '';
$menu_item_xfn = isset( $_POST['menu-item-xfn'][$k] ) ? $_POST['menu-item-xfn'][$k] : '';
@ -314,7 +314,7 @@ require_once( 'admin-header.php' );
<label for="edit-menu-item-target">
<?php _e( 'Link Target' ); ?><br />
<select id="edit-menu-item-target" class="widefat" name="edit-menu-item-target" tabindex="4">
<option value="_self"><?php _e('Same window or tab'); ?></option>
<option value=""><?php _e('Same window or tab'); ?></option>
<option value="_blank"><?php _e('New window or tab'); ?></option>
</select>
</label>

View File

@ -1196,7 +1196,7 @@ class Walker_Nav_Menu extends Walker {
// @todo add classes for parent/child relationships
$css_class = join( ' ', apply_filters('nav_menu_css_class', $css_class, $item) );
$css_class = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $css_class ), $item ) );
}
$maybe_value = ( 'backend' == $args->context ) ? ' value="'. $item->ID .'"' : '';

View File

@ -154,10 +154,10 @@ function wp_get_nav_menu_item( $menu_item, $context = 'frontend', $args = array(
$output = '';
switch ( $context ) {
case 'frontend':
$attributes = ( isset($menu_item->attr_title) && '' != $menu_item->attr_title ) ? ' title="'. esc_attr($menu_item->attr_title) .'"' : '';
$attributes .= ( isset($menu_item->target) && '' != $menu_item->target ) ? ' target="'. esc_attr($menu_item->target) .'"' : '';
$attributes .= ( isset($menu_item->xfn) && '' != $menu_item->xfn ) ? ' rel="'. esc_attr($menu_item->xfn) .'"' : '';
$attributes .= ( isset($menu_item->url) && '' != $menu_item->url ) ? ' href="'. esc_attr($menu_item->url) .'"' : '';
$attributes = ! empty( $menu_item->attr_title ) ? ' title="' . esc_attr( $menu_item->attr_title ) .'"' : '';
$attributes .= ! empty( $menu_item->target ) ? ' target="' . esc_attr( $menu_item->target ) .'"' : '';
$attributes .= ! empty( $menu_item->xfn ) ? ' rel="' . esc_attr( $menu_item->xfn ) .'"' : '';
$attributes .= ! empty( $menu_item->url ) ? ' href="' . esc_attr( $menu_item->url ) .'"' : '';
$output .= esc_html( $args->before );
$output .= '<a'. $attributes .'>';

View File

@ -250,7 +250,7 @@ function wp_setup_nav_menu_item( $menu_item, $menu_item_type = null, $menu_item_
$menu_item->title = $menu_item->post_title;
$menu_item->url = get_permalink( $menu_item->ID );
$menu_item->target = '_self';
$menu_item->target = '';
$menu_item->attr_title = '';
$menu_item->description = strip_tags( $menu_item->post_content );
@ -271,7 +271,7 @@ function wp_setup_nav_menu_item( $menu_item, $menu_item_type = null, $menu_item_
$menu_item->title = $menu_item->name;
$menu_item->url = get_term_link( $menu_item, $menu_item_object );
$menu_item->target = '_self';
$menu_item->target = '';
$menu_item->attr_title = '';
$menu_item->description = strip_tags( $menu_item->description );
$menu_item->classes = '';

View File

@ -399,7 +399,7 @@ function wp_default_scripts( &$scripts ) {
) );
// Custom Navigation
$scripts->add( 'nav-menu', "/wp-admin/js/nav-menu$suffix.js", false, '20100322b' );
$scripts->add( 'nav-menu', "/wp-admin/js/nav-menu$suffix.js", false, '20100403' );
$scripts->localize( 'nav-menu', 'navMenuL10n', array(
'custom' => _x('Custom', 'menu nav item type'),
'thickbox' => _x('Edit Menu Item', 'Thickbox Title'),

View File

@ -15,7 +15,7 @@ $wp_version = '3.0-beta1';
*
* @global int $wp_db_version
*/
$wp_db_version = 13956;
$wp_db_version = 13974;
/**
* Holds the TinyMCE version