WordPress.org

Make WordPress Core


Ignore:
Timestamp:
02/23/2010 07:28:41 PM (11 years ago)
Author:
ryan
Message:

More output consolidation. see #11817

File:
1 edited

Legend:

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

    r13334 r13336  
    137137        $menu_item->li_class = 'class="current_page_item"';
    138138
     139    $menu_item->anchor_title = '';
    139140/* @todo: update to use tax/post data
    140141
     
    164165}
    165166
    166 function output_menu_item($menu_item, $context) {
     167function output_menu_item($menu_item, $context, $args = array() ) {
    167168    switch( $context ) {
    168169        case 'backend':
     
    198199<?php
    199200        break;
     201
     202        case 'frontend':
     203            // Override for menu descriptions
     204            $advanced_option_descriptions = get_option('wp_settings_custom_nav_advanced_options');
     205            if ( $advanced_option_descriptions == 'no' )
     206                $args['desc'] = 2;
     207?>
     208            <a title="<?php echo $menu_item->anchor_title; ?>" href="<?php echo $menu_item->link; ?>" <?php echo $menu_item->target; ?>><?php echo $args['before_title'] . $menu_item->title . $args['after_title']; ?><?php
     209
     210                            if ( $advanced_option_descriptions == 'no' ) {
     211                                // 2 widget override do NOT display descriptions
     212                                // 1 widget override display descriptions
     213                                // 0 widget override not set
     214                                if ( ($args['desc'] == 1) || ($args['desc'] == 0) ) {
     215                                    ?><span class="nav-description"><?php echo $menu_item->description; ?></span><?php
     216                                }
     217                            } else {
     218                                // 2 widget override do NOT display descriptions
     219                                // 1 widget override display descriptions
     220                                // 0 widget override not set
     221                                if ( $args['desc'] == 1 ) {
     222                                    ?><span class="nav-description"><?php echo $menu_item->description; ?></span><?php
     223                                }
     224                            }
     225                        ?></a>
     226<?php
     227        break;
     228
     229        case 'default':
     230?>
     231                    <dl>
     232                    <dt>
     233
     234                    <?php $templatedir = get_bloginfo('url'); ?>
     235                    <span class="title"><?php echo $menu_item->title; ?></span> <a onclick="appendToList('<?php echo $templatedir; ?>','<?php echo $menu_item->append; ?>','<?php echo $menu_item->title; ?>','<?php echo $menu_item->link; ?>','<?php echo $menu_item->ID; ?>','<?php echo $menu_item->parent_item ?>','<?php echo $menu_item->description; ?>')" name="<?php echo $menu_item->title; ?>" value="<?php echo $menu_item->link; ?>"><img alt="<?php esc_attr_e('Add to Custom Menu'); ?>" title="<?php esc_attr_e('Add to Custom Menu'); ?>" src="<?php echo admin_url('images/ico-add.png'); ?>" /></a> </dt>
     236                    </dl>
     237<?php
     238        break;
    200239    }
    201240}
     
    228267        $menu_objects = get_objects_in_term( $id, 'nav_menu' );
    229268        $menu_items = wp_custom_navigation_get_menu_items( $menu_objects, 'menu_order' );
    230         // Override for menu descriptions
    231         $advanced_option_descriptions = get_option('wp_settings_custom_nav_advanced_options');
    232         if ( $advanced_option_descriptions == 'no' )
    233             $desc = 2;
    234269
    235270        $parent_stack = array();
     
    246281            // List Items
    247282            ?><li id="menu-<?php echo $menu_item->ID; ?>" value="<?php echo $menu_item->ID; ?>" <?php echo $menu_item->li_class; ?>><?php
    248                     //@todo: update front end to use post data
    249                     //FRONTEND Link
    250                     if ( $type == 'frontend' ) {
    251                         ?><a title="<?php echo $menu_item->anchor_title; ?>" href="<?php echo $menu_item->link; ?>" <?php echo $menu_item->target; ?>><?php echo $before_title.$menu_item->title.$after_title; ?><?php
    252 
    253                             if ( $advanced_option_descriptions == 'no' ) {
    254                                 // 2 widget override do NOT display descriptions
    255                                 // 1 widget override display descriptions
    256                                 // 0 widget override not set
    257                                 if ( ($desc == 1) || ($desc == 0) ) {
    258                                     ?><span class="nav-description"><?php echo $menu_item->description; ?></span><?php
    259                                 }
    260                             } else {
    261                                 // 2 widget override do NOT display descriptions
    262                                 // 1 widget override display descriptions
    263                                 // 0 widget override not set
    264                                 if ( $desc == 1 ) {
    265                                     ?><span class="nav-description"><?php echo $menu_item->description; ?></span><?php
    266                                 }
    267                             }
    268 
    269                         ?></a><?php
    270                     } elseif ( $type == 'backend' ) {
    271                         output_menu_item($menu_item, 'backend');
    272                     }
     283            output_menu_item($menu_item, $type, $args);
    273284            // Indent children
    274285            $last_item = ( count( $menu_items ) == $menu_item->menu_order );
Note: See TracChangeset for help on using the changeset viewer.