Make WordPress Core


Ignore:
Timestamp:
05/27/2010 02:24:33 AM (15 years ago)
Author:
nacin
Message:

Move the "Add Home Link" functionality to a checkbox on the View All tab of the Pages metabox. Also makes it work non-JS. props filosofo, fixes #13213.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/nav-menu.php

    r14944 r14971  
    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>
    478             </span>
    479476            <span class="add-to-menu">
    480477                <img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />
     
    496493 */
    497494function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) {
     495    global $_nav_menu_placeholder;
     496
    498497    $post_type_name = $post_type['args']->name;
    499498
     
    633632                <?php
    634633                $args['walker'] = $walker;
     634               
     635                // if we're dealing with pages, let's put a checkbox for the front page at the top of the list
     636                if ( 'page' == $post_type_name ) {
     637                    $front_page = 'page' == get_option('show_on_front') ? (int) get_option( 'page_on_front' ) : 0;
     638                    if ( ! empty( $front_page ) ) {
     639                        $front_page_obj = get_post( $front_page );
     640                        $front_page_obj->_add_to_top = true;
     641                        $front_page_obj->label = sprintf( _x('Home: %s', 'nav menu front page title'), $front_page_obj->post_title );
     642                        array_unshift( $posts, $front_page_obj );
     643                    } else {
     644                        $_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? intval($_nav_menu_placeholder) - 1 : -1;
     645                        array_unshift( $posts, (object) array(
     646                            '_add_to_top' => true,
     647                            'ID' => 0,
     648                            'object_id' => $_nav_menu_placeholder,
     649                            'post_content' => '',
     650                            'post_excerpt' => '',
     651                            'post_title' => _x('Home', 'nav menu home label'),
     652                            'post_type' => 'nav_menu_item',
     653                            'type' => 'custom',
     654                            'url' => home_url('/'),
     655                        ) );
     656                    }
     657                }
     658
    635659                $checkbox_items = walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $posts), 0, (object) $args );
    636660
     
    639663
    640664                }
     665
    641666                echo $checkbox_items;
    642667                ?>
Note: See TracChangeset for help on using the changeset viewer.