WordPress.org

Make WordPress Core

Changeset 16100


Ignore:
Timestamp:
10/30/10 14:06:08 (3 years ago)
Author:
nacin
Message:

Move Walker_Page* to post-template, Walker_Category* to category-template, and rm classes.php. see #10287.

Location:
trunk/wp-includes
Files:
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/category-template.php

    r15855 r16100  
    744744} 
    745745 
     746/** 
     747 * Create HTML list of categories. 
     748 * 
     749 * @package WordPress 
     750 * @since 2.1.0 
     751 * @uses Walker 
     752 */ 
     753class Walker_Category extends Walker { 
     754    /** 
     755     * @see Walker::$tree_type 
     756     * @since 2.1.0 
     757     * @var string 
     758     */ 
     759    var $tree_type = 'category'; 
     760 
     761    /** 
     762     * @see Walker::$db_fields 
     763     * @since 2.1.0 
     764     * @todo Decouple this 
     765     * @var array 
     766     */ 
     767    var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); 
     768 
     769    /** 
     770     * @see Walker::start_lvl() 
     771     * @since 2.1.0 
     772     * 
     773     * @param string $output Passed by reference. Used to append additional content. 
     774     * @param int $depth Depth of category. Used for tab indentation. 
     775     * @param array $args Will only append content if style argument value is 'list'. 
     776     */ 
     777    function start_lvl(&$output, $depth, $args) { 
     778        if ( 'list' != $args['style'] ) 
     779            return; 
     780 
     781        $indent = str_repeat("\t", $depth); 
     782        $output .= "$indent<ul class='children'>\n"; 
     783    } 
     784 
     785    /** 
     786     * @see Walker::end_lvl() 
     787     * @since 2.1.0 
     788     * 
     789     * @param string $output Passed by reference. Used to append additional content. 
     790     * @param int $depth Depth of category. Used for tab indentation. 
     791     * @param array $args Will only append content if style argument value is 'list'. 
     792     */ 
     793    function end_lvl(&$output, $depth, $args) { 
     794        if ( 'list' != $args['style'] ) 
     795            return; 
     796 
     797        $indent = str_repeat("\t", $depth); 
     798        $output .= "$indent</ul>\n"; 
     799    } 
     800 
     801    /** 
     802     * @see Walker::start_el() 
     803     * @since 2.1.0 
     804     * 
     805     * @param string $output Passed by reference. Used to append additional content. 
     806     * @param object $category Category data object. 
     807     * @param int $depth Depth of category in reference to parents. 
     808     * @param array $args 
     809     */ 
     810    function start_el(&$output, $category, $depth, $args) { 
     811        extract($args); 
     812 
     813        $cat_name = esc_attr( $category->name ); 
     814        $cat_name = apply_filters( 'list_cats', $cat_name, $category ); 
     815        $link = '<a href="' . esc_attr( get_term_link($category) ) . '" '; 
     816        if ( $use_desc_for_title == 0 || empty($category->description) ) 
     817            $link .= 'title="' . sprintf(__( 'View all posts filed under %s' ), $cat_name) . '"'; 
     818        else 
     819            $link .= 'title="' . esc_attr( strip_tags( apply_filters( 'category_description', $category->description, $category ) ) ) . '"'; 
     820        $link .= '>'; 
     821        $link .= $cat_name . '</a>'; 
     822 
     823        if ( !empty($feed_image) || !empty($feed) ) { 
     824            $link .= ' '; 
     825 
     826            if ( empty($feed_image) ) 
     827                $link .= '('; 
     828 
     829            $link .= '<a href="' . get_term_feed_link( $category->term_id, $category->taxonomy, $feed_type ) . '"'; 
     830 
     831            if ( empty($feed) ) { 
     832                $alt = ' alt="' . sprintf(__( 'Feed for all posts filed under %s' ), $cat_name ) . '"'; 
     833            } else { 
     834                $title = ' title="' . $feed . '"'; 
     835                $alt = ' alt="' . $feed . '"'; 
     836                $name = $feed; 
     837                $link .= $title; 
     838            } 
     839 
     840            $link .= '>'; 
     841 
     842            if ( empty($feed_image) ) 
     843                $link .= $name; 
     844            else 
     845                $link .= "<img src='$feed_image'$alt$title" . ' />'; 
     846 
     847            $link .= '</a>'; 
     848 
     849            if ( empty($feed_image) ) 
     850                $link .= ')'; 
     851        } 
     852 
     853        if ( !empty($show_count) ) 
     854            $link .= ' (' . intval($category->count) . ')'; 
     855 
     856        if ( !empty($show_date) ) 
     857            $link .= ' ' . gmdate('Y-m-d', $category->last_update_timestamp); 
     858 
     859        if ( 'list' == $args['style'] ) { 
     860            $output .= "\t<li"; 
     861            $class = 'cat-item cat-item-' . $category->term_id; 
     862            if ( !empty($current_category) ) { 
     863                $_current_category = get_term( $current_category, $category->taxonomy ); 
     864                if ( $category->term_id == $current_category ) 
     865                    $class .=  ' current-cat'; 
     866                elseif ( $category->term_id == $_current_category->parent ) 
     867                    $class .=  ' current-cat-parent'; 
     868            } 
     869            $output .=  ' class="' . $class . '"'; 
     870            $output .= ">$link\n"; 
     871        } else { 
     872            $output .= "\t$link<br />\n"; 
     873        } 
     874    } 
     875 
     876    /** 
     877     * @see Walker::end_el() 
     878     * @since 2.1.0 
     879     * 
     880     * @param string $output Passed by reference. Used to append additional content. 
     881     * @param object $page Not used. 
     882     * @param int $depth Depth of category. Not used. 
     883     * @param array $args Only uses 'list' for whether should append to output. 
     884     */ 
     885    function end_el(&$output, $page, $depth, $args) { 
     886        if ( 'list' != $args['style'] ) 
     887            return; 
     888 
     889        $output .= "</li>\n"; 
     890    } 
     891 
     892} 
     893 
     894/** 
     895 * Create HTML dropdown list of Categories. 
     896 * 
     897 * @package WordPress 
     898 * @since 2.1.0 
     899 * @uses Walker 
     900 */ 
     901class Walker_CategoryDropdown extends Walker { 
     902    /** 
     903     * @see Walker::$tree_type 
     904     * @since 2.1.0 
     905     * @var string 
     906     */ 
     907    var $tree_type = 'category'; 
     908 
     909    /** 
     910     * @see Walker::$db_fields 
     911     * @since 2.1.0 
     912     * @todo Decouple this 
     913     * @var array 
     914     */ 
     915    var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); 
     916 
     917    /** 
     918     * @see Walker::start_el() 
     919     * @since 2.1.0 
     920     * 
     921     * @param string $output Passed by reference. Used to append additional content. 
     922     * @param object $category Category data object. 
     923     * @param int $depth Depth of category. Used for padding. 
     924     * @param array $args Uses 'selected', 'show_count', and 'show_last_update' keys, if they exist. 
     925     */ 
     926    function start_el(&$output, $category, $depth, $args) { 
     927        $pad = str_repeat('&nbsp;', $depth * 3); 
     928 
     929        $cat_name = apply_filters('list_cats', $category->name, $category); 
     930        $output .= "\t<option class=\"level-$depth\" value=\"".$category->term_id."\""; 
     931        if ( $category->term_id == $args['selected'] ) 
     932            $output .= ' selected="selected"'; 
     933        $output .= '>'; 
     934        $output .= $pad.$cat_name; 
     935        if ( $args['show_count'] ) 
     936            $output .= '&nbsp;&nbsp;('. $category->count .')'; 
     937        if ( $args['show_last_update'] ) { 
     938            $format = 'Y-m-d'; 
     939            $output .= '&nbsp;&nbsp;' . gmdate($format, $category->last_update_timestamp); 
     940        } 
     941        $output .= "</option>\n"; 
     942    } 
     943} 
     944 
    746945// 
    747946// Tags 
  • trunk/wp-includes/post-template.php

    r16066 r16100  
    922922} 
    923923 
     924/** 
     925 * Create HTML list of pages. 
     926 * 
     927 * @package WordPress 
     928 * @since 2.1.0 
     929 * @uses Walker 
     930 */ 
     931class Walker_Page extends Walker { 
     932    /** 
     933     * @see Walker::$tree_type 
     934     * @since 2.1.0 
     935     * @var string 
     936     */ 
     937    var $tree_type = 'page'; 
     938 
     939    /** 
     940     * @see Walker::$db_fields 
     941     * @since 2.1.0 
     942     * @todo Decouple this. 
     943     * @var array 
     944     */ 
     945    var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID'); 
     946 
     947    /** 
     948     * @see Walker::start_lvl() 
     949     * @since 2.1.0 
     950     * 
     951     * @param string $output Passed by reference. Used to append additional content. 
     952     * @param int $depth Depth of page. Used for padding. 
     953     */ 
     954    function start_lvl(&$output, $depth) { 
     955        $indent = str_repeat("\t", $depth); 
     956        $output .= "\n$indent<ul class='children'>\n"; 
     957    } 
     958 
     959    /** 
     960     * @see Walker::end_lvl() 
     961     * @since 2.1.0 
     962     * 
     963     * @param string $output Passed by reference. Used to append additional content. 
     964     * @param int $depth Depth of page. Used for padding. 
     965     */ 
     966    function end_lvl(&$output, $depth) { 
     967        $indent = str_repeat("\t", $depth); 
     968        $output .= "$indent</ul>\n"; 
     969    } 
     970 
     971    /** 
     972     * @see Walker::start_el() 
     973     * @since 2.1.0 
     974     * 
     975     * @param string $output Passed by reference. Used to append additional content. 
     976     * @param object $page Page data object. 
     977     * @param int $depth Depth of page. Used for padding. 
     978     * @param int $current_page Page ID. 
     979     * @param array $args 
     980     */ 
     981    function start_el(&$output, $page, $depth, $args, $current_page) { 
     982        if ( $depth ) 
     983            $indent = str_repeat("\t", $depth); 
     984        else 
     985            $indent = ''; 
     986 
     987        extract($args, EXTR_SKIP); 
     988        $css_class = array('page_item', 'page-item-'.$page->ID); 
     989        if ( !empty($current_page) ) { 
     990            $_current_page = get_page( $current_page ); 
     991            if ( isset($_current_page->ancestors) && in_array($page->ID, (array) $_current_page->ancestors) ) 
     992                $css_class[] = 'current_page_ancestor'; 
     993            if ( $page->ID == $current_page ) 
     994                $css_class[] = 'current_page_item'; 
     995            elseif ( $_current_page && $page->ID == $_current_page->post_parent ) 
     996                $css_class[] = 'current_page_parent'; 
     997        } elseif ( $page->ID == get_option('page_for_posts') ) { 
     998            $css_class[] = 'current_page_parent'; 
     999        } 
     1000 
     1001        $css_class = implode(' ', apply_filters('page_css_class', $css_class, $page)); 
     1002 
     1003        $output .= $indent . '<li class="' . $css_class . '"><a href="' . get_permalink($page->ID) . '" title="' . esc_attr( wp_strip_all_tags( apply_filters( 'the_title', $page->post_title, $page->ID ) ) ) . '">' . $link_before . apply_filters( 'the_title', $page->post_title, $page->ID ) . $link_after . '</a>'; 
     1004 
     1005        if ( !empty($show_date) ) { 
     1006            if ( 'modified' == $show_date ) 
     1007                $time = $page->post_modified; 
     1008            else 
     1009                $time = $page->post_date; 
     1010 
     1011            $output .= " " . mysql2date($date_format, $time); 
     1012        } 
     1013    } 
     1014 
     1015    /** 
     1016     * @see Walker::end_el() 
     1017     * @since 2.1.0 
     1018     * 
     1019     * @param string $output Passed by reference. Used to append additional content. 
     1020     * @param object $page Page data object. Not used. 
     1021     * @param int $depth Depth of page. Not Used. 
     1022     */ 
     1023    function end_el(&$output, $page, $depth) { 
     1024        $output .= "</li>\n"; 
     1025    } 
     1026 
     1027} 
     1028 
     1029/** 
     1030 * Create HTML dropdown list of pages. 
     1031 * 
     1032 * @package WordPress 
     1033 * @since 2.1.0 
     1034 * @uses Walker 
     1035 */ 
     1036class Walker_PageDropdown extends Walker { 
     1037    /** 
     1038     * @see Walker::$tree_type 
     1039     * @since 2.1.0 
     1040     * @var string 
     1041     */ 
     1042    var $tree_type = 'page'; 
     1043 
     1044    /** 
     1045     * @see Walker::$db_fields 
     1046     * @since 2.1.0 
     1047     * @todo Decouple this 
     1048     * @var array 
     1049     */ 
     1050    var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID'); 
     1051 
     1052    /** 
     1053     * @see Walker::start_el() 
     1054     * @since 2.1.0 
     1055     * 
     1056     * @param string $output Passed by reference. Used to append additional content. 
     1057     * @param object $page Page data object. 
     1058     * @param int $depth Depth of page in reference to parent pages. Used for padding. 
     1059     * @param array $args Uses 'selected' argument for selected page to set selected HTML attribute for option element. 
     1060     */ 
     1061    function start_el(&$output, $page, $depth, $args) { 
     1062        $pad = str_repeat('&nbsp;', $depth * 3); 
     1063 
     1064        $output .= "\t<option class=\"level-$depth\" value=\"$page->ID\""; 
     1065        if ( $page->ID == $args['selected'] ) 
     1066            $output .= ' selected="selected"'; 
     1067        $output .= '>'; 
     1068        $title = esc_html($page->post_title); 
     1069        $output .= "$pad$title"; 
     1070        $output .= "</option>\n"; 
     1071    } 
     1072} 
     1073 
    9241074// 
    9251075// Attachments 
Note: See TracChangeset for help on using the changeset viewer.