Move Walker_Page* to post-template, Walker_Category* to category-template, and rm classes.php. see #10287.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16100 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
731bf1fb06
commit
588523f119
|
@ -743,6 +743,205 @@ function walk_category_dropdown_tree() {
|
||||||
return call_user_func_array(array( &$walker, 'walk' ), $args );
|
return call_user_func_array(array( &$walker, 'walk' ), $args );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create HTML list of categories.
|
||||||
|
*
|
||||||
|
* @package WordPress
|
||||||
|
* @since 2.1.0
|
||||||
|
* @uses Walker
|
||||||
|
*/
|
||||||
|
class Walker_Category extends Walker {
|
||||||
|
/**
|
||||||
|
* @see Walker::$tree_type
|
||||||
|
* @since 2.1.0
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
var $tree_type = 'category';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::$db_fields
|
||||||
|
* @since 2.1.0
|
||||||
|
* @todo Decouple this
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
var $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::start_lvl()
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string $output Passed by reference. Used to append additional content.
|
||||||
|
* @param int $depth Depth of category. Used for tab indentation.
|
||||||
|
* @param array $args Will only append content if style argument value is 'list'.
|
||||||
|
*/
|
||||||
|
function start_lvl(&$output, $depth, $args) {
|
||||||
|
if ( 'list' != $args['style'] )
|
||||||
|
return;
|
||||||
|
|
||||||
|
$indent = str_repeat("\t", $depth);
|
||||||
|
$output .= "$indent<ul class='children'>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::end_lvl()
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string $output Passed by reference. Used to append additional content.
|
||||||
|
* @param int $depth Depth of category. Used for tab indentation.
|
||||||
|
* @param array $args Will only append content if style argument value is 'list'.
|
||||||
|
*/
|
||||||
|
function end_lvl(&$output, $depth, $args) {
|
||||||
|
if ( 'list' != $args['style'] )
|
||||||
|
return;
|
||||||
|
|
||||||
|
$indent = str_repeat("\t", $depth);
|
||||||
|
$output .= "$indent</ul>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::start_el()
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string $output Passed by reference. Used to append additional content.
|
||||||
|
* @param object $category Category data object.
|
||||||
|
* @param int $depth Depth of category in reference to parents.
|
||||||
|
* @param array $args
|
||||||
|
*/
|
||||||
|
function start_el(&$output, $category, $depth, $args) {
|
||||||
|
extract($args);
|
||||||
|
|
||||||
|
$cat_name = esc_attr( $category->name );
|
||||||
|
$cat_name = apply_filters( 'list_cats', $cat_name, $category );
|
||||||
|
$link = '<a href="' . esc_attr( get_term_link($category) ) . '" ';
|
||||||
|
if ( $use_desc_for_title == 0 || empty($category->description) )
|
||||||
|
$link .= 'title="' . sprintf(__( 'View all posts filed under %s' ), $cat_name) . '"';
|
||||||
|
else
|
||||||
|
$link .= 'title="' . esc_attr( strip_tags( apply_filters( 'category_description', $category->description, $category ) ) ) . '"';
|
||||||
|
$link .= '>';
|
||||||
|
$link .= $cat_name . '</a>';
|
||||||
|
|
||||||
|
if ( !empty($feed_image) || !empty($feed) ) {
|
||||||
|
$link .= ' ';
|
||||||
|
|
||||||
|
if ( empty($feed_image) )
|
||||||
|
$link .= '(';
|
||||||
|
|
||||||
|
$link .= '<a href="' . get_term_feed_link( $category->term_id, $category->taxonomy, $feed_type ) . '"';
|
||||||
|
|
||||||
|
if ( empty($feed) ) {
|
||||||
|
$alt = ' alt="' . sprintf(__( 'Feed for all posts filed under %s' ), $cat_name ) . '"';
|
||||||
|
} else {
|
||||||
|
$title = ' title="' . $feed . '"';
|
||||||
|
$alt = ' alt="' . $feed . '"';
|
||||||
|
$name = $feed;
|
||||||
|
$link .= $title;
|
||||||
|
}
|
||||||
|
|
||||||
|
$link .= '>';
|
||||||
|
|
||||||
|
if ( empty($feed_image) )
|
||||||
|
$link .= $name;
|
||||||
|
else
|
||||||
|
$link .= "<img src='$feed_image'$alt$title" . ' />';
|
||||||
|
|
||||||
|
$link .= '</a>';
|
||||||
|
|
||||||
|
if ( empty($feed_image) )
|
||||||
|
$link .= ')';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !empty($show_count) )
|
||||||
|
$link .= ' (' . intval($category->count) . ')';
|
||||||
|
|
||||||
|
if ( !empty($show_date) )
|
||||||
|
$link .= ' ' . gmdate('Y-m-d', $category->last_update_timestamp);
|
||||||
|
|
||||||
|
if ( 'list' == $args['style'] ) {
|
||||||
|
$output .= "\t<li";
|
||||||
|
$class = 'cat-item cat-item-' . $category->term_id;
|
||||||
|
if ( !empty($current_category) ) {
|
||||||
|
$_current_category = get_term( $current_category, $category->taxonomy );
|
||||||
|
if ( $category->term_id == $current_category )
|
||||||
|
$class .= ' current-cat';
|
||||||
|
elseif ( $category->term_id == $_current_category->parent )
|
||||||
|
$class .= ' current-cat-parent';
|
||||||
|
}
|
||||||
|
$output .= ' class="' . $class . '"';
|
||||||
|
$output .= ">$link\n";
|
||||||
|
} else {
|
||||||
|
$output .= "\t$link<br />\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::end_el()
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string $output Passed by reference. Used to append additional content.
|
||||||
|
* @param object $page Not used.
|
||||||
|
* @param int $depth Depth of category. Not used.
|
||||||
|
* @param array $args Only uses 'list' for whether should append to output.
|
||||||
|
*/
|
||||||
|
function end_el(&$output, $page, $depth, $args) {
|
||||||
|
if ( 'list' != $args['style'] )
|
||||||
|
return;
|
||||||
|
|
||||||
|
$output .= "</li>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create HTML dropdown list of Categories.
|
||||||
|
*
|
||||||
|
* @package WordPress
|
||||||
|
* @since 2.1.0
|
||||||
|
* @uses Walker
|
||||||
|
*/
|
||||||
|
class Walker_CategoryDropdown extends Walker {
|
||||||
|
/**
|
||||||
|
* @see Walker::$tree_type
|
||||||
|
* @since 2.1.0
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
var $tree_type = 'category';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::$db_fields
|
||||||
|
* @since 2.1.0
|
||||||
|
* @todo Decouple this
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
var $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::start_el()
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string $output Passed by reference. Used to append additional content.
|
||||||
|
* @param object $category Category data object.
|
||||||
|
* @param int $depth Depth of category. Used for padding.
|
||||||
|
* @param array $args Uses 'selected', 'show_count', and 'show_last_update' keys, if they exist.
|
||||||
|
*/
|
||||||
|
function start_el(&$output, $category, $depth, $args) {
|
||||||
|
$pad = str_repeat(' ', $depth * 3);
|
||||||
|
|
||||||
|
$cat_name = apply_filters('list_cats', $category->name, $category);
|
||||||
|
$output .= "\t<option class=\"level-$depth\" value=\"".$category->term_id."\"";
|
||||||
|
if ( $category->term_id == $args['selected'] )
|
||||||
|
$output .= ' selected="selected"';
|
||||||
|
$output .= '>';
|
||||||
|
$output .= $pad.$cat_name;
|
||||||
|
if ( $args['show_count'] )
|
||||||
|
$output .= ' ('. $category->count .')';
|
||||||
|
if ( $args['show_last_update'] ) {
|
||||||
|
$format = 'Y-m-d';
|
||||||
|
$output .= ' ' . gmdate($format, $category->last_update_timestamp);
|
||||||
|
}
|
||||||
|
$output .= "</option>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Tags
|
// Tags
|
||||||
//
|
//
|
||||||
|
|
|
@ -1,362 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* Holds Most of the WordPress classes.
|
|
||||||
*
|
|
||||||
* Some of the other classes are contained in other files. For example, the
|
|
||||||
* WordPress cache is in cache.php and the WordPress roles API is in
|
|
||||||
* capabilities.php. The third party libraries are contained in their own
|
|
||||||
* separate files.
|
|
||||||
*
|
|
||||||
* @package WordPress
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create HTML list of pages.
|
|
||||||
*
|
|
||||||
* @package WordPress
|
|
||||||
* @since 2.1.0
|
|
||||||
* @uses Walker
|
|
||||||
*/
|
|
||||||
class Walker_Page extends Walker {
|
|
||||||
/**
|
|
||||||
* @see Walker::$tree_type
|
|
||||||
* @since 2.1.0
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
var $tree_type = 'page';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::$db_fields
|
|
||||||
* @since 2.1.0
|
|
||||||
* @todo Decouple this.
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::start_lvl()
|
|
||||||
* @since 2.1.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param int $depth Depth of page. Used for padding.
|
|
||||||
*/
|
|
||||||
function start_lvl(&$output, $depth) {
|
|
||||||
$indent = str_repeat("\t", $depth);
|
|
||||||
$output .= "\n$indent<ul class='children'>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::end_lvl()
|
|
||||||
* @since 2.1.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param int $depth Depth of page. Used for padding.
|
|
||||||
*/
|
|
||||||
function end_lvl(&$output, $depth) {
|
|
||||||
$indent = str_repeat("\t", $depth);
|
|
||||||
$output .= "$indent</ul>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::start_el()
|
|
||||||
* @since 2.1.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param object $page Page data object.
|
|
||||||
* @param int $depth Depth of page. Used for padding.
|
|
||||||
* @param int $current_page Page ID.
|
|
||||||
* @param array $args
|
|
||||||
*/
|
|
||||||
function start_el(&$output, $page, $depth, $args, $current_page) {
|
|
||||||
if ( $depth )
|
|
||||||
$indent = str_repeat("\t", $depth);
|
|
||||||
else
|
|
||||||
$indent = '';
|
|
||||||
|
|
||||||
extract($args, EXTR_SKIP);
|
|
||||||
$css_class = array('page_item', 'page-item-'.$page->ID);
|
|
||||||
if ( !empty($current_page) ) {
|
|
||||||
$_current_page = get_page( $current_page );
|
|
||||||
if ( isset($_current_page->ancestors) && in_array($page->ID, (array) $_current_page->ancestors) )
|
|
||||||
$css_class[] = 'current_page_ancestor';
|
|
||||||
if ( $page->ID == $current_page )
|
|
||||||
$css_class[] = 'current_page_item';
|
|
||||||
elseif ( $_current_page && $page->ID == $_current_page->post_parent )
|
|
||||||
$css_class[] = 'current_page_parent';
|
|
||||||
} elseif ( $page->ID == get_option('page_for_posts') ) {
|
|
||||||
$css_class[] = 'current_page_parent';
|
|
||||||
}
|
|
||||||
|
|
||||||
$css_class = implode(' ', apply_filters('page_css_class', $css_class, $page));
|
|
||||||
|
|
||||||
$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>';
|
|
||||||
|
|
||||||
if ( !empty($show_date) ) {
|
|
||||||
if ( 'modified' == $show_date )
|
|
||||||
$time = $page->post_modified;
|
|
||||||
else
|
|
||||||
$time = $page->post_date;
|
|
||||||
|
|
||||||
$output .= " " . mysql2date($date_format, $time);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::end_el()
|
|
||||||
* @since 2.1.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param object $page Page data object. Not used.
|
|
||||||
* @param int $depth Depth of page. Not Used.
|
|
||||||
*/
|
|
||||||
function end_el(&$output, $page, $depth) {
|
|
||||||
$output .= "</li>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create HTML dropdown list of pages.
|
|
||||||
*
|
|
||||||
* @package WordPress
|
|
||||||
* @since 2.1.0
|
|
||||||
* @uses Walker
|
|
||||||
*/
|
|
||||||
class Walker_PageDropdown extends Walker {
|
|
||||||
/**
|
|
||||||
* @see Walker::$tree_type
|
|
||||||
* @since 2.1.0
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
var $tree_type = 'page';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::$db_fields
|
|
||||||
* @since 2.1.0
|
|
||||||
* @todo Decouple this
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::start_el()
|
|
||||||
* @since 2.1.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param object $page Page data object.
|
|
||||||
* @param int $depth Depth of page in reference to parent pages. Used for padding.
|
|
||||||
* @param array $args Uses 'selected' argument for selected page to set selected HTML attribute for option element.
|
|
||||||
*/
|
|
||||||
function start_el(&$output, $page, $depth, $args) {
|
|
||||||
$pad = str_repeat(' ', $depth * 3);
|
|
||||||
|
|
||||||
$output .= "\t<option class=\"level-$depth\" value=\"$page->ID\"";
|
|
||||||
if ( $page->ID == $args['selected'] )
|
|
||||||
$output .= ' selected="selected"';
|
|
||||||
$output .= '>';
|
|
||||||
$title = esc_html($page->post_title);
|
|
||||||
$output .= "$pad$title";
|
|
||||||
$output .= "</option>\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create HTML list of categories.
|
|
||||||
*
|
|
||||||
* @package WordPress
|
|
||||||
* @since 2.1.0
|
|
||||||
* @uses Walker
|
|
||||||
*/
|
|
||||||
class Walker_Category extends Walker {
|
|
||||||
/**
|
|
||||||
* @see Walker::$tree_type
|
|
||||||
* @since 2.1.0
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
var $tree_type = 'category';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::$db_fields
|
|
||||||
* @since 2.1.0
|
|
||||||
* @todo Decouple this
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
var $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::start_lvl()
|
|
||||||
* @since 2.1.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param int $depth Depth of category. Used for tab indentation.
|
|
||||||
* @param array $args Will only append content if style argument value is 'list'.
|
|
||||||
*/
|
|
||||||
function start_lvl(&$output, $depth, $args) {
|
|
||||||
if ( 'list' != $args['style'] )
|
|
||||||
return;
|
|
||||||
|
|
||||||
$indent = str_repeat("\t", $depth);
|
|
||||||
$output .= "$indent<ul class='children'>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::end_lvl()
|
|
||||||
* @since 2.1.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param int $depth Depth of category. Used for tab indentation.
|
|
||||||
* @param array $args Will only append content if style argument value is 'list'.
|
|
||||||
*/
|
|
||||||
function end_lvl(&$output, $depth, $args) {
|
|
||||||
if ( 'list' != $args['style'] )
|
|
||||||
return;
|
|
||||||
|
|
||||||
$indent = str_repeat("\t", $depth);
|
|
||||||
$output .= "$indent</ul>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::start_el()
|
|
||||||
* @since 2.1.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param object $category Category data object.
|
|
||||||
* @param int $depth Depth of category in reference to parents.
|
|
||||||
* @param array $args
|
|
||||||
*/
|
|
||||||
function start_el(&$output, $category, $depth, $args) {
|
|
||||||
extract($args);
|
|
||||||
|
|
||||||
$cat_name = esc_attr( $category->name );
|
|
||||||
$cat_name = apply_filters( 'list_cats', $cat_name, $category );
|
|
||||||
$link = '<a href="' . esc_attr( get_term_link($category) ) . '" ';
|
|
||||||
if ( $use_desc_for_title == 0 || empty($category->description) )
|
|
||||||
$link .= 'title="' . sprintf(__( 'View all posts filed under %s' ), $cat_name) . '"';
|
|
||||||
else
|
|
||||||
$link .= 'title="' . esc_attr( strip_tags( apply_filters( 'category_description', $category->description, $category ) ) ) . '"';
|
|
||||||
$link .= '>';
|
|
||||||
$link .= $cat_name . '</a>';
|
|
||||||
|
|
||||||
if ( !empty($feed_image) || !empty($feed) ) {
|
|
||||||
$link .= ' ';
|
|
||||||
|
|
||||||
if ( empty($feed_image) )
|
|
||||||
$link .= '(';
|
|
||||||
|
|
||||||
$link .= '<a href="' . get_term_feed_link( $category->term_id, $category->taxonomy, $feed_type ) . '"';
|
|
||||||
|
|
||||||
if ( empty($feed) ) {
|
|
||||||
$alt = ' alt="' . sprintf(__( 'Feed for all posts filed under %s' ), $cat_name ) . '"';
|
|
||||||
} else {
|
|
||||||
$title = ' title="' . $feed . '"';
|
|
||||||
$alt = ' alt="' . $feed . '"';
|
|
||||||
$name = $feed;
|
|
||||||
$link .= $title;
|
|
||||||
}
|
|
||||||
|
|
||||||
$link .= '>';
|
|
||||||
|
|
||||||
if ( empty($feed_image) )
|
|
||||||
$link .= $name;
|
|
||||||
else
|
|
||||||
$link .= "<img src='$feed_image'$alt$title" . ' />';
|
|
||||||
|
|
||||||
$link .= '</a>';
|
|
||||||
|
|
||||||
if ( empty($feed_image) )
|
|
||||||
$link .= ')';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !empty($show_count) )
|
|
||||||
$link .= ' (' . intval($category->count) . ')';
|
|
||||||
|
|
||||||
if ( !empty($show_date) )
|
|
||||||
$link .= ' ' . gmdate('Y-m-d', $category->last_update_timestamp);
|
|
||||||
|
|
||||||
if ( 'list' == $args['style'] ) {
|
|
||||||
$output .= "\t<li";
|
|
||||||
$class = 'cat-item cat-item-' . $category->term_id;
|
|
||||||
if ( !empty($current_category) ) {
|
|
||||||
$_current_category = get_term( $current_category, $category->taxonomy );
|
|
||||||
if ( $category->term_id == $current_category )
|
|
||||||
$class .= ' current-cat';
|
|
||||||
elseif ( $category->term_id == $_current_category->parent )
|
|
||||||
$class .= ' current-cat-parent';
|
|
||||||
}
|
|
||||||
$output .= ' class="' . $class . '"';
|
|
||||||
$output .= ">$link\n";
|
|
||||||
} else {
|
|
||||||
$output .= "\t$link<br />\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::end_el()
|
|
||||||
* @since 2.1.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param object $page Not used.
|
|
||||||
* @param int $depth Depth of category. Not used.
|
|
||||||
* @param array $args Only uses 'list' for whether should append to output.
|
|
||||||
*/
|
|
||||||
function end_el(&$output, $page, $depth, $args) {
|
|
||||||
if ( 'list' != $args['style'] )
|
|
||||||
return;
|
|
||||||
|
|
||||||
$output .= "</li>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create HTML dropdown list of Categories.
|
|
||||||
*
|
|
||||||
* @package WordPress
|
|
||||||
* @since 2.1.0
|
|
||||||
* @uses Walker
|
|
||||||
*/
|
|
||||||
class Walker_CategoryDropdown extends Walker {
|
|
||||||
/**
|
|
||||||
* @see Walker::$tree_type
|
|
||||||
* @since 2.1.0
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
var $tree_type = 'category';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::$db_fields
|
|
||||||
* @since 2.1.0
|
|
||||||
* @todo Decouple this
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
var $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see Walker::start_el()
|
|
||||||
* @since 2.1.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param object $category Category data object.
|
|
||||||
* @param int $depth Depth of category. Used for padding.
|
|
||||||
* @param array $args Uses 'selected', 'show_count', and 'show_last_update' keys, if they exist.
|
|
||||||
*/
|
|
||||||
function start_el(&$output, $category, $depth, $args) {
|
|
||||||
$pad = str_repeat(' ', $depth * 3);
|
|
||||||
|
|
||||||
$cat_name = apply_filters('list_cats', $category->name, $category);
|
|
||||||
$output .= "\t<option class=\"level-$depth\" value=\"".$category->term_id."\"";
|
|
||||||
if ( $category->term_id == $args['selected'] )
|
|
||||||
$output .= ' selected="selected"';
|
|
||||||
$output .= '>';
|
|
||||||
$output .= $pad.$cat_name;
|
|
||||||
if ( $args['show_count'] )
|
|
||||||
$output .= ' ('. $category->count .')';
|
|
||||||
if ( $args['show_last_update'] ) {
|
|
||||||
$format = 'Y-m-d';
|
|
||||||
$output .= ' ' . gmdate($format, $category->last_update_timestamp);
|
|
||||||
}
|
|
||||||
$output .= "</option>\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
|
@ -921,6 +921,156 @@ function walk_page_dropdown_tree() {
|
||||||
return call_user_func_array(array(&$walker, 'walk'), $args);
|
return call_user_func_array(array(&$walker, 'walk'), $args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create HTML list of pages.
|
||||||
|
*
|
||||||
|
* @package WordPress
|
||||||
|
* @since 2.1.0
|
||||||
|
* @uses Walker
|
||||||
|
*/
|
||||||
|
class Walker_Page extends Walker {
|
||||||
|
/**
|
||||||
|
* @see Walker::$tree_type
|
||||||
|
* @since 2.1.0
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
var $tree_type = 'page';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::$db_fields
|
||||||
|
* @since 2.1.0
|
||||||
|
* @todo Decouple this.
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::start_lvl()
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string $output Passed by reference. Used to append additional content.
|
||||||
|
* @param int $depth Depth of page. Used for padding.
|
||||||
|
*/
|
||||||
|
function start_lvl(&$output, $depth) {
|
||||||
|
$indent = str_repeat("\t", $depth);
|
||||||
|
$output .= "\n$indent<ul class='children'>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::end_lvl()
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string $output Passed by reference. Used to append additional content.
|
||||||
|
* @param int $depth Depth of page. Used for padding.
|
||||||
|
*/
|
||||||
|
function end_lvl(&$output, $depth) {
|
||||||
|
$indent = str_repeat("\t", $depth);
|
||||||
|
$output .= "$indent</ul>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::start_el()
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string $output Passed by reference. Used to append additional content.
|
||||||
|
* @param object $page Page data object.
|
||||||
|
* @param int $depth Depth of page. Used for padding.
|
||||||
|
* @param int $current_page Page ID.
|
||||||
|
* @param array $args
|
||||||
|
*/
|
||||||
|
function start_el(&$output, $page, $depth, $args, $current_page) {
|
||||||
|
if ( $depth )
|
||||||
|
$indent = str_repeat("\t", $depth);
|
||||||
|
else
|
||||||
|
$indent = '';
|
||||||
|
|
||||||
|
extract($args, EXTR_SKIP);
|
||||||
|
$css_class = array('page_item', 'page-item-'.$page->ID);
|
||||||
|
if ( !empty($current_page) ) {
|
||||||
|
$_current_page = get_page( $current_page );
|
||||||
|
if ( isset($_current_page->ancestors) && in_array($page->ID, (array) $_current_page->ancestors) )
|
||||||
|
$css_class[] = 'current_page_ancestor';
|
||||||
|
if ( $page->ID == $current_page )
|
||||||
|
$css_class[] = 'current_page_item';
|
||||||
|
elseif ( $_current_page && $page->ID == $_current_page->post_parent )
|
||||||
|
$css_class[] = 'current_page_parent';
|
||||||
|
} elseif ( $page->ID == get_option('page_for_posts') ) {
|
||||||
|
$css_class[] = 'current_page_parent';
|
||||||
|
}
|
||||||
|
|
||||||
|
$css_class = implode(' ', apply_filters('page_css_class', $css_class, $page));
|
||||||
|
|
||||||
|
$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>';
|
||||||
|
|
||||||
|
if ( !empty($show_date) ) {
|
||||||
|
if ( 'modified' == $show_date )
|
||||||
|
$time = $page->post_modified;
|
||||||
|
else
|
||||||
|
$time = $page->post_date;
|
||||||
|
|
||||||
|
$output .= " " . mysql2date($date_format, $time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::end_el()
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string $output Passed by reference. Used to append additional content.
|
||||||
|
* @param object $page Page data object. Not used.
|
||||||
|
* @param int $depth Depth of page. Not Used.
|
||||||
|
*/
|
||||||
|
function end_el(&$output, $page, $depth) {
|
||||||
|
$output .= "</li>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create HTML dropdown list of pages.
|
||||||
|
*
|
||||||
|
* @package WordPress
|
||||||
|
* @since 2.1.0
|
||||||
|
* @uses Walker
|
||||||
|
*/
|
||||||
|
class Walker_PageDropdown extends Walker {
|
||||||
|
/**
|
||||||
|
* @see Walker::$tree_type
|
||||||
|
* @since 2.1.0
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
var $tree_type = 'page';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::$db_fields
|
||||||
|
* @since 2.1.0
|
||||||
|
* @todo Decouple this
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Walker::start_el()
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string $output Passed by reference. Used to append additional content.
|
||||||
|
* @param object $page Page data object.
|
||||||
|
* @param int $depth Depth of page in reference to parent pages. Used for padding.
|
||||||
|
* @param array $args Uses 'selected' argument for selected page to set selected HTML attribute for option element.
|
||||||
|
*/
|
||||||
|
function start_el(&$output, $page, $depth, $args) {
|
||||||
|
$pad = str_repeat(' ', $depth * 3);
|
||||||
|
|
||||||
|
$output .= "\t<option class=\"level-$depth\" value=\"$page->ID\"";
|
||||||
|
if ( $page->ID == $args['selected'] )
|
||||||
|
$output .= ' selected="selected"';
|
||||||
|
$output .= '>';
|
||||||
|
$title = esc_html($page->post_title);
|
||||||
|
$output .= "$pad$title";
|
||||||
|
$output .= "</option>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Attachments
|
// Attachments
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue