Ticket #2395: classes.php.diff
File classes.php.diff, 3.2 KB (added by , 18 years ago) |
---|
-
classes.php
old new 507 507 return $output; 508 508 } 509 509 510 function parent_level($page, $current_page, $level=0) { 511 $_current_page = get_page($current_page); 512 if ( $page->ID == $current_page ) 513 return $level; 514 elseif ( $_current_page && $page->ID == $_current_page->post_parent ) 515 return ++$level; 516 elseif ( is_object($_current_page) ) 517 return ( $this->parent_level($page, $_current_page->post_parent, ++$level ) ); 518 else 519 return false; 520 } 521 510 522 function start_el($output, $page, $depth, $current_page, $args) { 511 523 if ( $depth ) 512 524 $indent = str_repeat("\t", $depth); 513 525 extract($args, EXTR_SKIP); 514 526 $css_class = 'page_item page-item-'.$page->ID; 515 $ _current_page = get_page( $current_page);516 if ( $pa ge->ID == $current_page)517 $css_class .= ' current_page_item 518 elseif ( $ _current_page && $page->ID == $_current_page->post_parent)527 $parent_level = $this->parent_level($page, $current_page); 528 if ( $parent_level === 0 ) 529 $css_class .= ' current_page_item'; 530 elseif ( $parent_level > 0 ) 519 531 $css_class .= ' current_page_parent'; 532 if ( $parent_level !== false ) 533 $css_class .= ' current_page_parent_l' . $parent_level; 520 534 521 535 $output .= $indent . '<li class="' . $css_class . '"><a href="' . get_page_link($page->ID) . '" title="' . attribute_escape(apply_filters('the_title', $page->post_title)) . '">' . apply_filters('the_title', $page->post_title) . '</a>'; 522 536 … … 581 595 return $output; 582 596 } 583 597 598 function parent_level($category, $current_category, $level=0) { 599 $_current_category = get_category( $current_category ); 600 if ( $category->term_id == $current_category ) 601 return $level; 602 elseif ( $_current_category && $category->term_id == $_current_category->parent ) 603 return ++$level; 604 elseif ( is_object($_current_category) ) 605 return ( $this->parent_level($category, $_current_category->parent, ++$level )); 606 else 607 return false; 608 } 609 584 610 function start_el($output, $category, $depth, $args) { 585 611 extract($args); 586 612 … … 629 655 $link .= ' ' . gmdate('Y-m-d', $category->last_update_timestamp); 630 656 } 631 657 632 if ( $current_category )633 $_current_category = get_category( $current_category );634 635 658 if ( 'list' == $args['style'] ) { 636 $output .= "\t<li"; 637 $class = 'cat-item cat-item-'.$category->term_id; 638 if ( $current_category && ($category->term_id == $current_category) ) 639 $class .= ' current-cat'; 640 elseif ( $_current_category && ($category->term_id == $_current_category->parent) ) 641 $class .= ' current-cat-parent'; 642 $output .= ' class="'.$class.'"'; 643 $output .= ">$link\n"; 659 $css_class = 'cat-item cat-item-'.$category->term_id; 660 if ( $current_category ) { 661 $parent_level = $this->parent_level($category, $current_category); 662 if ( $parent_level === 0 ) 663 $css_class .= ' current-cat'; 664 elseif ( $parent_level > 0 ) 665 $css_class .= ' current-cat-parent'; 666 if ( $parent_level !== false ) 667 $css_class .= ' current-cat-parent-l' . $parent_level; 668 } 669 $output .= "\t" . '<li class="' . $css_class . '">$link' . "\n"; 644 670 } else { 645 671 $output .= "\t$link<br />\n"; 646 672 }