From e26a78918d5d78f672cac1593af7db3a3ed5a1a7 Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Tue, 23 Feb 2010 18:17:51 +0000 Subject: [PATCH] Start consolidatinh menu item outupt into output_menu_item(). DRY. see #11817 git-svn-id: https://develop.svn.wordpress.org/trunk@13332 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/custom-navigation.php | 126 +++++++++++++++--------------- 1 file changed, 62 insertions(+), 64 deletions(-) diff --git a/wp-includes/custom-navigation.php b/wp-includes/custom-navigation.php index 7da27383e2..486a9319a0 100644 --- a/wp-includes/custom-navigation.php +++ b/wp-includes/custom-navigation.php @@ -57,16 +57,27 @@ function wp_custom_navigation_delete_menu( $menu_term_id ) { } } -function setup_menu_item($menu_item) { +function setup_menu_item($menu_item, $type = 'item', $position = 0) { global $parent_menu_order; - $menu_item->type = get_post_meta($menu_item->ID, 'menu_type', true); - $menu_item->object_id = get_post_meta($menu_item->ID, 'object_id', true); - //$parent_menu_order[ $menu_item->ID ] = $menu_item->menu_order; - if ( isset( $parent_menu_order[ $menu_item->post_parent ] ) ) - $menu_item->parent_item = $parent_menu_order[ $menu_item->post_parent ]; - else - $menu_item->parent_item = 0; + if ( 'item' == $type ) { + $menu_item->type = get_post_meta($menu_item->ID, 'menu_type', true); + $menu_item->object_id = get_post_meta($menu_item->ID, 'object_id', true); + if ( isset( $parent_menu_order[ $menu_item->post_parent ] ) ) + $menu_item->parent_item = $parent_menu_order[ $menu_item->post_parent ]; + else + $menu_item->parent_item = 0; + } elseif ( 'category' == $type ) { + $menu_item->type = $type; + $menu_item->object_id = $menu_item->term_id; + $menu_item->parent_item = $menu_item->parent; + $menu_item->menu_order = $position; + } elseif ( 'page' == $type ) { + $menu_item->type = $type; + $menu_item->object_id = $menu_item->ID; + $menu_item->parent_item = $menu_item->post_parent; + $menu_item->menu_order = $position; + } switch ( $menu_item->type ) { // Page Menu Item @@ -86,6 +97,7 @@ function setup_menu_item($menu_item) { else $menu_item->description = htmlentities( $menu_item->post_content ); $menu_item->target = ''; + $menu_item->append = 'Page'; break; // Category Menu Item case 'category': @@ -106,6 +118,7 @@ function setup_menu_item($menu_item) { else $menu_item->description = htmlentities( $menu_item->post_content ); $menu_item->target = ''; + $menu_item->append = 'Category'; break; default: // Custom Menu Item @@ -113,6 +126,7 @@ function setup_menu_item($menu_item) { $menu_item->title = htmlentities( $menu_item->post_title ); $menu_item->description = htmlentities( $menu_item->post_content ); $menu_item->target = 'target="_blank"'; + $menu_item->append = 'Custom'; break; } @@ -148,6 +162,43 @@ function setup_menu_item($menu_item) { return $menu_item; } +function output_menu_item($menu_item, $context) { + switch( $context ) { + case 'backend': + case 'menu': +?> +
+
+ title); ?> + + type); ?> + <?php esc_attr_e('Edit Menu Item'); ?> + <?php esc_attr_e('Remove from Custom Menu'); ?> + <?php esc_attr_e('View Page'); ?> + +
+
+ + + + title; ?> + + + + + + + + + + + + + - -
-
- title; ?> - - type; ?> - Edit Menu Item - Remove from Custom Menu - View Page - -
-
- - - - - - - - - - - - - - - menu_order ); @@ -301,38 +325,12 @@ function wp_custom_nav_get_pages($counter, $type) { // Custom Menu if ( $type == 'menu' ) { $description = get_post_meta($post->ID, 'page-description', true); + $post = setup_menu_item($post, 'page', $intCounter); ?>