Changeset 13802 for trunk/wp-includes/nav-menu.php
- Timestamp:
- 03/22/2010 07:56:16 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/nav-menu.php
r13733 r13802 9 9 10 10 /** 11 * Returns a Navigation Menu object11 * Returns a navigation menu object. 12 12 * 13 13 * @since 3.0.0 14 14 * 15 15 * @param string $menu Menu id 16 * @return mixed $menu|false 16 * @return mixed $menu|false Or WP_Error 17 17 */ 18 18 function wp_get_nav_menu_object( $menu ) { … … 21 21 22 22 /** 23 * Check if Menu exists.23 * Check if navigation menu exists. 24 24 * 25 25 * Returns the menu object, or false if the term doesn't exist. … … 28 28 * 29 29 * @param int|string $menu The menu to check 30 * @return mixed Menu Object, if exists.30 * @return mixed Menu Object, if it exists. Else, false or WP_Error 31 31 */ 32 32 function is_nav_menu( $menu ) { … … 50 50 51 51 /** 52 * Create s a navigation menu.52 * Create a Navigation Menu. 53 53 * 54 54 * Optional args: … … 59 59 * @param string $menu_name Menu Name 60 60 * @param string $args Optional. 61 * @return mixed Menu object |WP_Error61 * @return mixed Menu object on sucess|WP_Error on failure 62 62 */ 63 63 function wp_create_nav_menu( $menu_name, $args = array() ) { … … 65 65 66 66 if ( $menu_exists ) 67 return new WP_Error( 'menu_exists', sprintf( __('A menu named “%s”already exists; please try another name.'), esc_html( $menu_exists->name ) ) );67 return new WP_Error( 'menu_exists', sprintf( __('A menu named <strong>%s</strong> already exists; please try another name.'), esc_html( $menu_exists->name ) ) ); 68 68 69 69 if ( isset($args['slug']) ) … … 77 77 return $menu; 78 78 79 return get_term( $menu['term_id'], 'nav_menu') ; 80 } 81 82 /** 83 * Deletes a navigation menu. 79 $result = get_term( $menu['term_id'], 'nav_menu' ); 80 81 if ( $result && !is_wp_error($result) ) { 82 do_action( 'wp_create_nav_menu', $menu['term_id'] ); 83 return $result; 84 } else { 85 return $result; 86 } 87 } 88 89 /** 90 * Delete a Navigation Menu. 84 91 * 85 92 * @since 3.0.0 86 93 * 87 94 * @param string $menu name|id|slug 88 * @return bool true on success, else false.95 * @return mixed Menu object on sucess|WP_Error on failure 89 96 */ 90 97 function wp_delete_nav_menu( $menu ) { … … 99 106 } 100 107 } 101 wp_delete_term( $menu->term_id, 'nav_menu' ); 102 } 103 104 /** 105 * Returns all Navigation Menu objects. 108 109 $result = wp_delete_term( $menu->term_id, 'nav_menu' ); 110 111 if ( $result && !is_wp_error($result) ) { 112 do_action( 'wp_delete_nav_menu', $menu->term_id ); 113 return $result; 114 } else { 115 return $result; 116 } 117 } 118 119 /** 120 * Returns all navigation menu objects. 106 121 * 107 122 * @since 3.0.0 … … 154 169 155 170 /** 156 * Adds all the nav menu properties to the $menu_item. 171 * Retrieve the HTML list content for nav menu items. 172 * 173 * @uses Walker_Nav_Menu to create HTML list content. 174 * @since 2.1.0 175 * @see Walker::walk() for parameters and return description. 176 */ 177 function walk_nav_menu_tree( $items, $depth, $r ) { 178 $walker = ( empty($r->walker) ) ? new Walker_Nav_Menu : $r->walker; 179 $args = array( $items, $depth, $r ); 180 181 return call_user_func_array(array(&$walker, 'walk'), $args); 182 } 183 184 /** 185 * Adds all the navigation menu properties to the menu item. 157 186 * 158 187 * @since 3.0.0 159 188 * 160 189 * @param string $menu_item The menu item to modify 161 * @param string $menu_item_type The menu item type ( template, custom, post_type, taxonomy).190 * @param string $menu_item_type The menu item type (frontend, custom, post_type, taxonomy). 162 191 * @param string $menu_item_object Optional. The menu item object type (post type or taxonomy). 163 * @return object $menu_item The mod tified menu item.192 * @return object $menu_item The modified menu item. 164 193 */ 165 194 function wp_setup_nav_menu_item( $menu_item, $menu_item_type = null, $menu_item_object = '' ) { 166 global $wp_query;167 168 195 switch ( $menu_item_type ) { 169 196 case 'frontend': 170 197 $menu_item->db_id = (int) $menu_item->ID; 171 $menu_item->object_id = get_post_meta( $menu_item->ID, 'menu_item_object_id', true ); 172 $menu_item->parent_id = (int) $menu_item->post_parent; 173 $menu_item->type = get_post_meta( $menu_item->ID, 'menu_item_type', true ); 174 175 $menu_item->append = get_post_meta( $menu_item->ID, 'menu_item_append', true ); 176 198 $menu_item->object_id = get_post_meta( $menu_item->ID, '_menu_item_object_id', true ); 199 $menu_item->object = get_post_meta( $menu_item->ID, '_menu_item_object', true ); 200 $menu_item->type = get_post_meta( $menu_item->ID, '_menu_item_type', true ); 201 202 if ( 'post_type' == $menu_item->type ) { 203 $object = get_post_type_object( $menu_item->object ); 204 $menu_item->append = $object->singular_label; 205 206 } elseif ( 'taxonomy' == $menu_item->type ) { 207 $object = get_taxonomy( $menu_item->object ); 208 $menu_item->append = $object->singular_label; 209 210 } else { 211 $menu_item->append = __('Custom'); 212 } 213 177 214 $menu_item->title = $menu_item->post_title; 178 $menu_item->url = get_post_meta( $menu_item->ID, ' menu_item_url', true );179 $menu_item->target = get_post_meta( $menu_item->ID, ' menu_item_target', true );215 $menu_item->url = get_post_meta( $menu_item->ID, '_menu_item_url', true ); 216 $menu_item->target = get_post_meta( $menu_item->ID, '_menu_item_target', true ); 180 217 181 218 $menu_item->attr_title = strip_tags( $menu_item->post_excerpt ); 182 219 $menu_item->description = strip_tags( $menu_item->post_content ); 183 220 184 $menu_item->classes = get_post_meta( $menu_item->ID, 'menu_item_classes', true );; 185 $menu_item->xfn = get_post_meta( $menu_item->ID, 'menu_item_xfn', true ); 186 $menu_item->li_class = ( $menu_item->object_id == $wp_query->get_queried_object_id() ) ? ' current_page_item' : ''; 221 $menu_item->classes = get_post_meta( $menu_item->ID, '_menu_item_classes', true );; 222 $menu_item->xfn = get_post_meta( $menu_item->ID, '_menu_item_xfn', true ); 187 223 break; 188 224 189 225 case 'custom': 190 $menu_item->db_id = (int) $menu_item->ID;226 $menu_item->db_id = 0; 191 227 $menu_item->object_id = (int) $menu_item->ID; 192 $menu_item-> parent_id = (int) $menu_item->post_parent;193 $menu_item->type = 'custom'; //$menu_item_type194 $menu_item->append = 'custom';228 $menu_item->object = 'custom'; 229 $menu_item->type = 'custom'; 230 $menu_item->append = __('custom'); 195 231 196 232 $menu_item->attr_title = strip_tags( $menu_item->post_excerpt ); … … 198 234 199 235 $menu_item->title = $menu_item->post_title; 200 $menu_item->url = get_post_meta( $menu_item->ID, 'menu_item_url', true ); 201 $menu_item->target = get_post_meta( $menu_item->ID, 'menu_item_target', true ); 236 $menu_item->url = get_post_meta( $menu_item->ID, '_menu_item_url', true ); 237 $menu_item->target = get_post_meta( $menu_item->ID, '_menu_item_target', true ); 238 $menu_item->classes = ''; 239 $menu_item->xfn = ''; 202 240 break; 203 241 … … 205 243 $menu_item->db_id = 0; 206 244 $menu_item->object_id = (int) $menu_item->ID; 207 $menu_item->parent_id = (int) $menu_item->post_parent;208 245 $menu_item->type = $menu_item_type; 209 246 210 247 $object = get_post_type_object( $menu_item_object ); 211 $menu_item->append = $object->name; 248 $menu_item->object = $object->name; 249 $menu_item->append = strtolower( $object->singular_label ); 212 250 213 251 $menu_item->title = $menu_item->post_title; … … 217 255 $menu_item->attr_title = ''; 218 256 $menu_item->description = strip_tags( $menu_item->post_content ); 257 $menu_item->classes = ''; 258 $menu_item->xfn = ''; 219 259 break; 220 260 … … 223 263 $menu_item->db_id = 0; 224 264 $menu_item->object_id = (int) $menu_item->term_id; 225 $menu_item->p arent_id= (int) $menu_item->parent;265 $menu_item->post_parent = (int) $menu_item->parent; 226 266 $menu_item->type = $menu_item_type; 227 267 228 268 $object = get_taxonomy( $menu_item_object ); 229 $menu_item->append = $object->name; 269 $menu_item->object = $object->name; 270 $menu_item->append = strtolower( $object->singular_label ); 230 271 231 272 $menu_item->title = $menu_item->name; … … 234 275 $menu_item->attr_title = ''; 235 276 $menu_item->description = strip_tags( $menu_item->description ); 236 break; 237 } 238 239 $menu_item->classes = get_post_meta( $menu_item->ID, 'menu_item_classes', true ); 240 $menu_item->xfn = get_post_meta( $menu_item->ID, 'menu_item_xfn', true ); 241 277 $menu_item->classes = ''; 278 $menu_item->xfn = ''; 279 break; 280 } 242 281 return $menu_item; 243 282 }
Note: See TracChangeset
for help on using the changeset viewer.