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, 4 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;