WordPress.org

Make WordPress Core

Changeset 13334


Ignore:
Timestamp:
02/23/2010 06:45:59 PM (8 years ago)
Author:
ryan
Message:

More output consolidation. see #11817

File:
1 edited

Legend:

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

    r13332 r13334  
    7171        $menu_item->type = $type;
    7272        $menu_item->object_id = $menu_item->term_id;
     73        $menu_item->ID = $menu_item->term_id;
    7374        $menu_item->parent_item = $menu_item->parent;
    7475        $menu_item->menu_order = $position;
     
    102103        // Category Menu Item
    103104        case 'category':
    104             if ( $menu_item->guid == '' )
     105            if ( empty($menu_item->guid) )
    105106                $menu_item->link = get_category_link( $menu_item->object_id );
    106107            else
    107108                $menu_item->link = $menu_item->guid;
    108109
    109             if ( $menu_item->post_title == '' ) {
    110                 $title_raw = get_categories( array('include' => $menu_item->object_id) );
    111                 $menu_item->title =  htmlentities($title_raw[0]->cat_name);
     110            if ( empty($menu_item->post_title) ) {
     111                $title_raw = get_category( $menu_item->object_id );
     112                $menu_item->title =  htmlentities($title_raw->cat_name);
    112113            } else {
    113114                $menu_item->title = htmlentities( $menu_item->post_title );
    114115            }
    115116
    116             if ( $menu_item->post_content == '' )
     117            if ( empty($menu_item->post_content) )
    117118                $menu_item->description = htmlentities( strip_tags( category_description( $menu_item->object_id ) ) );
    118119            else
     
    325326            // Custom Menu
    326327            if ( $type == 'menu' ) {
    327                 $description = get_post_meta($post->ID, 'page-description', true);
    328328                $post = setup_menu_item($post, 'page', $intCounter);
    329329                ?>
     
    415415    foreach ( $categories_array as $cat_item ) {
    416416        if ( $cat_item->parent == 0 ) {
     417            $cat_item = setup_menu_item($cat_item, 'category', $intCounter);
    417418            // Custom Menu
    418419            if ( $type == 'menu' ) {
     
    420421
    421422                <li id="menu-<?php echo $intCounter; ?>" value="<?php echo $intCounter; ?>">
    422                     <dl>
    423                     <dt>
    424                         <span class="title"><?php echo esc_html($cat_item->cat_name); ?></span>
    425                         <span class="controls">
    426                         <span class="type">category</span>
    427                         <a id="edit<?php echo $intCounter; ?>" onclick="edititem(<?php echo $intCounter; ?>)" value="<?php echo $intCounter; ?>"><img class="edit" alt="<?php esc_attr_e('Edit Menu Item'); ?>" title="="<?php esc_attr_e('Edit Menu Item'); ?>" src="<?php echo admin_url('images/ico-edit.png'); ?>" /></a>
    428                         <a id="remove<?php echo $intCounter; ?>" onclick="removeitem(<?php echo $intCounter; ?>)" value="<?php echo $intCounter; ?>">
    429                             <img class="remove" alt="="<?php esc_attr_e('Remove from Custom Menu'); ?>" title="="<?php esc_attr_e('Remove from Custom Menu'); ?>" src="<?php echo admin_url('images/ico-close.png'); ?>" />
    430                         </a>
    431                         <a target="_blank" href="<?php echo get_category_link($cat_item->cat_ID); ?>">
    432                             <img alt="="<?php esc_attr_e('View Page'); ?>" title="="<?php esc_attr_e('View Page'); ?>" src="<?php echo admin_url('images/ico-viewpage.png'); ?>" />
    433                         </a>
    434                         </span>
    435 
    436                     </dt>
    437                     </dl>
    438                     <a class="hide" href="<?php echo get_category_link($cat_item->cat_ID); ?>"><span class="title"><?php echo $cat_item->cat_name; ?></span>
    439                     <?php
    440                     $use_cats_raw = get_option('wp_settings_custom_nav_descriptions');
    441                     $use_cats = strtolower($use_cats_raw);
    442                     if ( $use_cats == 'yes' ) { ?>
    443                     <br/> <span><?php echo $cat_item->category_description; ?></span>
    444                     <?php } ?>
    445                                 </a>
    446                     <input type="hidden" name="postmenu<?php echo $intCounter; ?>" id="postmenu<?php echo $intCounter; ?>" value="<?php echo $cat_item->cat_ID; ?>" />
    447                     <input type="hidden" name="parent<?php echo $intCounter; ?>" id="parent<?php echo $intCounter; ?>" value="0" />
    448                     <input type="hidden" name="title<?php echo $intCounter; ?>" id="title<?php echo $intCounter; ?>" value="<?php echo esc_attr($cat_item->cat_name); ?>" />
    449                     <input type="hidden" name="linkurl<?php echo $intCounter; ?>" id="linkurl<?php echo $intCounter; ?>" value="<?php echo esc_attr(get_category_link($cat_item->cat_ID)); ?>" />
    450                     <input type="hidden" name="description<?php echo $intCounter; ?>" id="description<?php echo $intCounter; ?>" value="<?php echo esc_attr($cat_item->category_description); ?>" />
    451                     <input type="hidden" name="icon<?php echo $intCounter; ?>" id="icon<?php echo $intCounter; ?>" value="0" />
    452                     <input type="hidden" name="position<?php echo $intCounter; ?>" id="position<?php echo $intCounter; ?>" value="<?php echo $intCounter; ?>" />
    453                     <input type="hidden" name="linktype<?php echo $intCounter; ?>" id="linktype<?php echo $intCounter; ?>" value="category" />
    454                     <input type="hidden" name="anchortitle<?php echo $intCounter; ?>" id="anchortitle<?php echo $intCounter; ?>" value="<?php echo esc_attr($cat_item->cat_name); ?>" />
    455                     <input type="hidden" name="newwindow<?php echo $intCounter; ?>" id="newwindow<?php echo $intCounter; ?>" value="0" />
    456 
     423                    <?php output_menu_item($cat_item, 'menu'); ?>
    457424                    <?php $parentli = $cat_item->cat_ID; ?>
    458425                    <?php $intCounter++; ?>
     
    521488    if ( $type == 'categories' ) {
    522489        // Get Sub Category Items
     490        $item_type = 'category';
    523491        $sub_array = get_categories($sub_args);
    524492    } elseif ($type == 'pages') {
    525493        // Get Sub Page Items
     494        $item_type = 'page';
    526495        $sub_array = get_pages($sub_args);
    527496    } else {
     497        $item_type = 'custom';
    528498        $sub_array = array();
    529499    }
     
    538508        foreach ( $sub_array as $sub_item ) {
    539509            // Prepare Menu Data
     510            $sub_item = setup_menu_item($sub_item, $item_type, $counter);
     511
    540512            if ( $type == 'categories' ) {
    541513                // Category Menu Item
     
    567539                ?>
    568540                <li id="menu-<?php echo $counter; ?>" value="<?php echo $counter; ?>">
    569                     <dl>
    570                     <dt>
    571                         <span class="title"><?php echo $title; ?></span>
    572                             <span class="controls">
    573                             <span class="type"><?php echo $linktype; ?></span>
    574                             <a id="edit<?php echo $counter; ?>" onclick="edititem(<?php echo $counter; ?>)" value="<?php echo $counter; ?>"><img class="edit" alt="<?php esc_attr_e('Edit Menu Item'); ?>" title="<?php esc_attr_e('Edit Menu Item'); ?>" src="<?php echo admin_url('images/ico-edit.png'); ?>" /></a>
    575                                 <a id="remove<?php echo $counter; ?>" onclick="removeitem(<?php echo $counter; ?>)" value="<?php echo $counter; ?>">
    576                                     <img class="remove" alt="<?php esc_attr_e('Remove from Custom Menu'); ?>" title="<?php esc_attr_e('Remove from Custom Menu'); ?>" src="<?php echo admin_url('images/ico-close.png'); ?>" />
    577                                 </a>
    578                                 <a target="_blank" href="<?php echo $link; ?>">
    579                                     <img alt="<?php esc_attr_e('View Page'); ?>" title="<?php esc_attr_e('View Page'); ?>" src="<?php echo admin_url('images/ico-viewpage.png'); ?>" />
    580                                 </a>
    581                         </span>
    582 
    583                     </dt>
    584                     </dl>
    585                     <a class="hide" href="<?php echo $link; ?>"><?php echo $title; ?></a>
    586                     <input type="hidden" name="dbid<?php echo $counter; ?>" id="dbid<?php echo $counter; ?>" value="<?php echo $sub_item->id; ?>" />
    587                     <input type="hidden" name="postmenu<?php echo $counter; ?>" id="postmenu<?php echo $counter; ?>" value="<?php echo $parent_id; ?>" />
    588                     <input type="hidden" name="parent<?php echo $counter; ?>" id="parent<?php echo $counter; ?>" value="<?php echo $parentli; ?>" />
    589                     <input type="hidden" name="title<?php echo $counter; ?>" id="title<?php echo $counter; ?>" value="<?php echo $title; ?>" />
    590                     <input type="hidden" name="linkurl<?php echo $counter; ?>" id="linkurl<?php echo $counter; ?>" value="<?php echo $link; ?>" />
    591                     <input type="hidden" name="description<?php echo $counter; ?>" id="description<?php echo $counter; ?>" value="<?php echo $description; ?>" />
    592                     <input type="hidden" name="icon<?php echo $counter; ?>" id="icon<?php echo $counter; ?>" value="0" />
    593                     <input type="hidden" name="position<?php echo $counter; ?>" id="position<?php echo $counter; ?>" value="<?php echo $counter; ?>" />
    594                     <input type="hidden" name="linktype<?php echo $counter; ?>" id="linktype<?php echo $counter; ?>" value="<?php echo $linktype; ?>" />
    595                     <input type="hidden" name="anchortitle<?php echo $counter; ?>" id="anchortitle<?php echo $counter; ?>" value="<?php echo $title; ?>" />
    596                     <input type="hidden" name="newwindow<?php echo $counter; ?>" id="newwindow<?php echo $counter; ?>" value="0" />
    597 
     541                    <?php output_menu_item($sub_item, 'menu'); ?>
    598542                    <?php $counter++; ?>
    599543                    <?php
     
    638582}
    639583
    640 /*-----------------------------------------------------------------------------------*/
    641 /* Recursive get children */
    642 /*-----------------------------------------------------------------------------------*/
    643 
    644 function get_children_menu_elements($childof, $intCounter, $parentli, $type, $menu_id, $table_name) {
    645     global $wpdb;
    646 
    647     $counter = $intCounter;
    648 
    649     if ( $type == 'categories' ) {
    650         // Get Sub Category Items
    651         $sub_args = array(
    652             'child_of' => $childof,
    653             'hide_empty'  => false,
    654             'parent' => $childof);
    655         $sub_array = get_categories($sub_args);
    656     } elseif ($type == 'pages') {
    657         // Get Sub Page Items
    658         $sub_args = array(
    659             'child_of' => $childof,
    660             'parent' => $childof);
    661 
    662         $sub_array = get_pages($sub_args);
    663 
    664     } else {
    665         $sub_array = array();
    666     }
    667 
    668     if ( $sub_array ) {
    669         // DISPLAY Loop
    670         foreach ( $sub_array as $sub_item ) {
    671             if ( isset($sub_item->parent) )
    672                 $sub_item_parent = $sub_item->parent;
    673             elseif (isset($sub_item->post_parent))
    674                 $sub_item_parent = $sub_item->post_parent;
    675 
    676             // Is child
    677             if ( $sub_item_parent == $childof ) {
    678                 // Prepare Menu Data
    679                 // Category Menu Item
    680                 if ( $type == 'categories' ) {
    681                     $link = get_category_link($sub_item->cat_ID);
    682                     $title = htmlentities($sub_item->cat_name);
    683                     $parent_id = $sub_item->category_parent;
    684                     $itemid = $sub_item->cat_ID;
    685                     $linktype = 'category';
    686                     $appendtype= 'Category';
    687                 }
    688                 // Page Menu Item
    689                 elseif ( $type == 'pages' ) {
    690                     $link = get_permalink($sub_item->ID);
    691                     $title = htmlentities($sub_item->post_title);
    692                     $parent_id = $sub_item->post_parent;
    693                     $linktype = 'page';
    694                     $itemid = $sub_item->ID;
    695                     $appendtype= 'Page';
    696                 }
    697                 // Custom Menu Item
    698                 else {
    699                     $title = '';
    700                     $linktype = 'custom';
    701                     $appendtype= 'Custom';
    702                 }
    703 
    704                 // CHECK for existing parent records
    705                 // echo $parent_id;
    706                 $wp_result = $wpdb->get_results("SELECT id FROM ".$table_name." WHERE post_id='".$parent_id."' AND link_type='".$linktype."' AND menu_id='".$menu_id."'");
    707                 if ( $wp_result > 0 && isset($wp_result[0]->id) )
    708                     $parent_id = $wp_result[0]->id;
    709 
    710                 //INSERT item
    711                 $insert = "INSERT INTO ".$table_name." (position,post_id,parent_id,custom_title,custom_link,custom_description,menu_icon,link_type,menu_id,custom_anchor_title) "."VALUES ('".$counter."','".$itemid."','".$parent_id."','".$title."','".$link."','','','".$linktype."','".$menu_id."','".$title."')";
    712                 $results = $wpdb->query( $insert );
    713 
    714                 $counter++;
    715                 $counter = get_children_menu_elements($itemid, $counter, $parent_id, $type, $menu_id, $table_name);
    716             }
    717         }
    718     }
    719     return $counter;
    720 }
    721 
    722584?>
Note: See TracChangeset for help on using the changeset viewer.