Make WordPress Core


Ignore:
Timestamp:
02/21/2010 06:24:41 PM (17 years ago)
Author:
ryan
Message:

Use nav_menu as the taxonomy name and nav_menu_item as the post type. Set object_id in postmeta. see #11817

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/custom-navigation.php

    r13281 r13284  
    6565
    6666        // Default Menu to show
    67         $custom_menus = get_terms( 'menu', array( 'hide_empty' => false ) );
     67        $custom_menus = get_terms( 'nav_menu', array( 'hide_empty' => false ) );
    6868        if ( !empty( $custom_menus ) )
    6969                $menu_selected_id = $custom_menus[0]->term_id;
     
    9595
    9696                if ( $insert_menu_name != '' ) {
    97                         $existing_term = get_term_by( 'name', $insert_menu_name, 'menu' );
     97                        $existing_term = get_term_by( 'name', $insert_menu_name, 'nav_menu' );
    9898                        if ( $existing_term ) {
    99                                 $messagesdiv = '<div id="message" class="error fade below-h2"><p>' . $insert_menu_name . ' Menu has already created - please try another name</p></div>';
     99                                $messagesdiv = '<div id="message" class="error fade below-h2"><p>' . $existing_term->name . ' Menu has already created - please try another name</p></div>';
    100100                        } else {
    101                                 $term = wp_insert_term( $insert_menu_name, 'menu' );
     101                                $term = wp_insert_term( $insert_menu_name, 'nav_menu' );
    102102                                if ( !is_wp_error($term) ) {
    103                                         $term = get_term($term['term_id'], 'menu');
     103                                        $term = get_term($term['term_id'], 'nav_menu');
    104104                                        $custom_menus[$term->term_id] = $term;
    105105                                        $menu_selected_id = $term->term_id;
     
    128128            }
    129129        } elseif ( $postCounter > 0 && $menu_selected_id > 0 ) {
    130                 $menu_objects = get_objects_in_term( $menu_selected_id, 'menu' );
     130                $menu_objects = get_objects_in_term( $menu_selected_id, 'nav_menu' );
    131131                $menu_items = wp_custom_navigation_get_menu_items( $menu_objects );
    132132
     
    134134                for ( $k = 1; $k <= $postCounter; $k++ ) {
    135135                        if (isset($_POST['dbid'.$k])) { $db_id = $_POST['dbid'.$k]; } else { $db_id = 0; }
    136                         if (isset($_POST['postmenu'.$k])) { $post_id = $_POST['postmenu'.$k]; } else { $post_id = 0; }
     136                        if (isset($_POST['postmenu'.$k])) { $object_id = $_POST['postmenu'.$k]; } else { $object_id = 0; }
    137137                        //@todo implement heirarchy
    138138                        if (isset($_POST['parent'.$k])) { $parent_id = $_POST['parent'.$k]; } else { $parent_id = 0; }
     
    147147                        if (isset($_POST['newwindow'.$k])) { $new_window = $_POST['newwindow'.$k]; } else { $new_window = 0; }
    148148
    149                         $post = array( 'post_status' => 'publish', 'post_type' => 'menu_item', 'post_author' => $user_ID,
    150                                 'ping_status' => 0, 'post_parent' => $post_id, 'menu_order' => $position,
    151                                 'guid' => $custom_linkurl, 'post_excerpt' => $custom_anchor_title, 'tax_input' => array( 'menu' => $menu_title ),
     149                        $post = array( 'post_status' => 'publish', 'post_type' => 'nav_menu_item', 'post_author' => $user_ID,
     150                                'ping_status' => 0, 'post_parent' => 0, 'menu_order' => $position,
     151                                'guid' => $custom_linkurl, 'post_excerpt' => $custom_anchor_title, 'tax_input' => array( 'nav_menu' => $menu_title ),
    152152                                'post_content' => $custom_description, 'post_title' => $custom_title );
    153153                        if ( $new_window )
     
    158158                        // New menu item
    159159                        if ( $db_id == 0 ) {
    160                                 $db_id = $post_id = wp_insert_post( $post );
     160                                $db_id = wp_insert_post( $post );
    161161                        } elseif ( isset( $menu_items[$db_id] ) ) {
    162162                                $post['ID'] = $db_id;
     
    165165                        }
    166166                        update_post_meta($db_id, 'menu_type', $linktype);
     167                        update_post_meta($db_id, 'object_id', $object_id);
    167168                }
    168169                if ( !empty( $menu_items ) ) {
     
    281282
    282283                                                //DISPLAY SELECT OPTIONS
    283                                                 foreach( $custom_menus as $menu ) {
    284                                                         $menu_term = get_term( $menu, 'menu' );
     284                                                foreach ( $custom_menus as $menu ) {
     285                                                        $menu_term = get_term( $menu, 'nav_menu' );
    285286                                                        if ( ( $menu_id_in_edit == $menu->term_id ) || ( $menu_selected_id == $menu->term_id ) )
    286287                                                                $selected_option = 'selected="selected"';
Note: See TracChangeset for help on using the changeset viewer.