Make WordPress Core

Changeset 16100


Ignore:
Timestamp:
10/30/2010 02:06:08 PM (16 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.