WordPress.org

Make WordPress Core

Ticket #13213: non-js-add-home-link.13213.diff

File non-js-add-home-link.13213.diff, 3.0 KB (added by filosofo, 8 years ago)
  • wp-admin/includes/nav-menu.php

     
    473473                        </p>
    474474
    475475                <p class="button-controls">
    476                         <span class="list-controls">
    477                                 <a href="#" class="select-all add-home-link"><?php _e('Add Home Link'); ?></a>
     476                        <span class="add-to-menu add-home-link">
     477                                <input type="submit" class="button-secondary submit-add-home-link" id="add-home-link" value="<?php esc_attr_e('Add Home Link'); ?>" name="add-home-link" />
    478478                        </span>
    479479                        <span class="add-to-menu">
    480480                                <img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />
  • wp-admin/js/nav-menu.dev.js

     
    541541                },
    542542
    543543                attachHomeLinkListener : function() {
    544                         $('.add-home-link', '.customlinkdiv').click(function(e) {
     544                        $('#add-home-link').click(function(e) {
    545545                                api.addLinkToMenu( navMenuL10n.homeurl, navMenuL10n.home, api.addMenuItemToTop );
    546546                                return false;
    547547                        });
  • wp-admin/nav-menus.php

     
    5454switch ( $action ) {
    5555        case 'add-menu-item':
    5656                check_admin_referer( 'add-menu_item', 'menu-settings-column-nonce' );
    57                 if ( isset( $_REQUEST['nav-menu-locations'] ) )
     57                // we're adding just the home link
     58                if ( ! empty( $_REQUEST['add-home-link'] ) )
     59                        wp_save_nav_menu_items( $nav_menu_selected_id, array( -1 => array(
     60                                'menu-item-type' => 'custom',
     61                                'menu-item-url' => home_url('/'),
     62                                'menu-item-title' => _x('Home', 'nav menu home label'),
     63                        ) ) );
     64                elseif ( isset( $_REQUEST['nav-menu-locations'] ) )
    5865                        set_theme_mod( 'nav_menu_locations', $_REQUEST['menu-locations'] );
    5966                elseif ( isset( $_REQUEST['menu-item'] ) )
    6067                        wp_save_nav_menu_items( $nav_menu_selected_id, $_REQUEST['menu-item'] );
     
    318325                        // Update menu items
    319326
    320327                        if ( ! is_wp_error( $_menu_object ) ) {
    321                                 $unsorted_menu_items = wp_get_nav_menu_items( $nav_menu_selected_id, array('orderby' => 'ID', 'output' => ARRAY_A, 'output_key' => 'ID') );
     328                                $unsorted_menu_items = wp_get_nav_menu_items( $nav_menu_selected_id, array('orderby' => 'ID', 'output' => ARRAY_A, 'output_key' => 'ID', 'post_status' => 'draft,publish' ) );
    322329                                $menu_items = array();
    323330                                // Index menu items by db ID
    324331                                foreach( $unsorted_menu_items as $_item )
  • wp-admin/css/nav-menu.dev.css

     
    233233.add-to-menu {
    234234        float: right;
    235235}
     236.add-home-link {
     237        float: left;
     238}
    236239
    237240.postbox img.waiting {
    238241        display: none;