Complete inline documentation for category-template.php, props jacobsantos, fixes #5634
git-svn-id: http://svn.automattic.com/wordpress/trunk@8975 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
2c3a8ecd98
commit
3be46dfb57
|
@ -1,11 +1,28 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* Category Template Tags and API.
|
||||||
|
*
|
||||||
|
* @package WordPress
|
||||||
|
* @subpackage Template
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve category children list separated before and after the term IDs.
|
||||||
|
*
|
||||||
|
* @since 1.2.0
|
||||||
|
*
|
||||||
|
* @param int $id Category ID to retrieve children.
|
||||||
|
* @param string $before Optional. Prepend before category term ID.
|
||||||
|
* @param string $after Optional, default is empty string. Append after category term ID.
|
||||||
|
* @param array $visited Optional. Category Term IDs that have already been added.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
function get_category_children( $id, $before = '/', $after = '', $visited = array() ) {
|
function get_category_children( $id, $before = '/', $after = '', $visited = array() ) {
|
||||||
if ( 0 == $id )
|
if ( 0 == $id )
|
||||||
return '';
|
return '';
|
||||||
|
|
||||||
$chain = '';
|
$chain = '';
|
||||||
// TODO: consult hierarchy
|
/** TODO: consult hierarchy */
|
||||||
$cat_ids = get_all_category_ids();
|
$cat_ids = get_all_category_ids();
|
||||||
foreach ( (array) $cat_ids as $cat_id ) {
|
foreach ( (array) $cat_ids as $cat_id ) {
|
||||||
if ( $cat_id == $id )
|
if ( $cat_id == $id )
|
||||||
|
@ -23,6 +40,15 @@ function get_category_children( $id, $before = '/', $after = '', $visited = arra
|
||||||
return $chain;
|
return $chain;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve category link URL.
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
* @uses apply_filters() Calls 'category_link' filter on category link and category ID.
|
||||||
|
*
|
||||||
|
* @param int $category_id Category ID.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
function get_category_link( $category_id ) {
|
function get_category_link( $category_id ) {
|
||||||
global $wp_rewrite;
|
global $wp_rewrite;
|
||||||
$catlink = $wp_rewrite->get_category_permastruct();
|
$catlink = $wp_rewrite->get_category_permastruct();
|
||||||
|
@ -45,7 +71,19 @@ function get_category_link( $category_id ) {
|
||||||
return apply_filters( 'category_link', $catlink, $category_id );
|
return apply_filters( 'category_link', $catlink, $category_id );
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_category_parents( $id, $link = FALSE, $separator = '/', $nicename = FALSE, $visited = array() ) {
|
/**
|
||||||
|
* Retrieve category parents with separator.
|
||||||
|
*
|
||||||
|
* @since 1.2.0
|
||||||
|
*
|
||||||
|
* @param int $id Category ID.
|
||||||
|
* @param bool $link Optional, default is false. Whether to format with link.
|
||||||
|
* @param string $separator Optional, default is '/'. How to separate categories.
|
||||||
|
* @param bool $nicename Optional, default is false. Whether to use nice name for display.
|
||||||
|
* @param array $visited Optional. Already linked to categories to prevent duplicates.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function get_category_parents( $id, $link = false, $separator = '/', $nicename = false, $visited = array() ) {
|
||||||
$chain = '';
|
$chain = '';
|
||||||
$parent = &get_category( $id );
|
$parent = &get_category( $id );
|
||||||
if ( is_wp_error( $parent ) )
|
if ( is_wp_error( $parent ) )
|
||||||
|
@ -68,6 +106,15 @@ function get_category_parents( $id, $link = FALSE, $separator = '/', $nicename =
|
||||||
return $chain;
|
return $chain;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve post categories.
|
||||||
|
*
|
||||||
|
* @since 0.71
|
||||||
|
* @uses $post
|
||||||
|
*
|
||||||
|
* @param int $id Optional, default to current post ID. The post ID.
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
function get_the_category( $id = false ) {
|
function get_the_category( $id = false ) {
|
||||||
global $post;
|
global $post;
|
||||||
|
|
||||||
|
@ -91,10 +138,36 @@ function get_the_category( $id = false ) {
|
||||||
return $categories;
|
return $categories;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sort categories by name.
|
||||||
|
*
|
||||||
|
* Used by usort() as a callback, should not be used directly. Can actually be
|
||||||
|
* used to sort any term object.
|
||||||
|
*
|
||||||
|
* @since 2.3.0
|
||||||
|
* @access private
|
||||||
|
*
|
||||||
|
* @param object $a
|
||||||
|
* @param object $b
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
function _usort_terms_by_name( $a, $b ) {
|
function _usort_terms_by_name( $a, $b ) {
|
||||||
return strcmp( $a->name, $b->name );
|
return strcmp( $a->name, $b->name );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sort categories by ID.
|
||||||
|
*
|
||||||
|
* Used by usort() as a callback, should not be used directly. Can actually be
|
||||||
|
* used to sort any term object.
|
||||||
|
*
|
||||||
|
* @since 2.3.0
|
||||||
|
* @access private
|
||||||
|
*
|
||||||
|
* @param object $a
|
||||||
|
* @param object $b
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
function _usort_terms_by_ID( $a, $b ) {
|
function _usort_terms_by_ID( $a, $b ) {
|
||||||
if ( $a->term_id > $b->term_id )
|
if ( $a->term_id > $b->term_id )
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -104,6 +177,14 @@ function _usort_terms_by_ID( $a, $b ) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve category name based on category ID.
|
||||||
|
*
|
||||||
|
* @since 0.71
|
||||||
|
*
|
||||||
|
* @param int $cat_ID Category ID.
|
||||||
|
* @return string Category name.
|
||||||
|
*/
|
||||||
function get_the_category_by_ID( $cat_ID ) {
|
function get_the_category_by_ID( $cat_ID ) {
|
||||||
$cat_ID = (int) $cat_ID;
|
$cat_ID = (int) $cat_ID;
|
||||||
$category = &get_category( $cat_ID );
|
$category = &get_category( $cat_ID );
|
||||||
|
@ -112,6 +193,16 @@ function get_the_category_by_ID( $cat_ID ) {
|
||||||
return $category->name;
|
return $category->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve category list in either HTML list or custom format.
|
||||||
|
*
|
||||||
|
* @since 1.5.1
|
||||||
|
*
|
||||||
|
* @param string $separator Optional, default is empty string. Separator for between the categories.
|
||||||
|
* @param string $parents Optional. How to display the parents.
|
||||||
|
* @param int $post_id Optional. Post ID to retrieve categories.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
function get_the_category_list( $separator = '', $parents='', $post_id = false ) {
|
function get_the_category_list( $separator = '', $parents='', $post_id = false ) {
|
||||||
global $wp_rewrite;
|
global $wp_rewrite;
|
||||||
$categories = get_the_category( $post_id );
|
$categories = get_the_category( $post_id );
|
||||||
|
@ -128,13 +219,13 @@ function get_the_category_list( $separator = '', $parents='', $post_id = false )
|
||||||
switch ( strtolower( $parents ) ) {
|
switch ( strtolower( $parents ) ) {
|
||||||
case 'multiple':
|
case 'multiple':
|
||||||
if ( $category->parent )
|
if ( $category->parent )
|
||||||
$thelist .= get_category_parents( $category->parent, TRUE );
|
$thelist .= get_category_parents( $category->parent, true );
|
||||||
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . $rel . '>' . $category->name.'</a></li>';
|
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . $rel . '>' . $category->name.'</a></li>';
|
||||||
break;
|
break;
|
||||||
case 'single':
|
case 'single':
|
||||||
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . $rel . '>';
|
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . $rel . '>';
|
||||||
if ( $category->parent )
|
if ( $category->parent )
|
||||||
$thelist .= get_category_parents( $category->parent, FALSE );
|
$thelist .= get_category_parents( $category->parent, false );
|
||||||
$thelist .= $category->name.'</a></li>';
|
$thelist .= $category->name.'</a></li>';
|
||||||
break;
|
break;
|
||||||
case '':
|
case '':
|
||||||
|
@ -151,13 +242,13 @@ function get_the_category_list( $separator = '', $parents='', $post_id = false )
|
||||||
switch ( strtolower( $parents ) ) {
|
switch ( strtolower( $parents ) ) {
|
||||||
case 'multiple':
|
case 'multiple':
|
||||||
if ( $category->parent )
|
if ( $category->parent )
|
||||||
$thelist .= get_category_parents( $category->parent, TRUE );
|
$thelist .= get_category_parents( $category->parent, true );
|
||||||
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . $rel . '>' . $category->cat_name.'</a>';
|
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . $rel . '>' . $category->cat_name.'</a>';
|
||||||
break;
|
break;
|
||||||
case 'single':
|
case 'single':
|
||||||
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . $rel . '>';
|
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . $rel . '>';
|
||||||
if ( $category->parent )
|
if ( $category->parent )
|
||||||
$thelist .= get_category_parents( $category->parent, FALSE );
|
$thelist .= get_category_parents( $category->parent, false );
|
||||||
$thelist .= "$category->cat_name</a>";
|
$thelist .= "$category->cat_name</a>";
|
||||||
break;
|
break;
|
||||||
case '':
|
case '':
|
||||||
|
@ -170,19 +261,20 @@ function get_the_category_list( $separator = '', $parents='', $post_id = false )
|
||||||
return apply_filters( 'the_category', $thelist, $separator, $parents );
|
return apply_filters( 'the_category', $thelist, $separator, $parents );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* in_category() - Checks whether the current post is within a particular category
|
* Checks whether the current post is within a particular category.
|
||||||
*
|
*
|
||||||
* This function checks to see if the post is within the supplied category. The categoy
|
* This function checks to see if the post is within the supplied category. The
|
||||||
* can be specified by number or name and will be checked as a name first to allow for categories with numeric names.
|
* category can be specified by number or name and will be checked as a name
|
||||||
* Note: Prior to v2.5 of WordPress category names where not supported.
|
* first to allow for categories with numeric names. Note: Prior to v2.5 of
|
||||||
|
* WordPress category names were not supported.
|
||||||
*
|
*
|
||||||
* @since 1.2.0
|
* @since 1.2.0
|
||||||
*
|
*
|
||||||
* @param int|string $category
|
* @param int|string $category Category ID or category name.
|
||||||
* @return bool true if the post is in the supplied category
|
* @return bool True, if the post is in the supplied category.
|
||||||
*/
|
*/
|
||||||
function in_category( $category ) { // Check if the current post is in the given category
|
function in_category( $category ) {
|
||||||
global $post;
|
global $post;
|
||||||
|
|
||||||
if ( empty( $category ) )
|
if ( empty( $category ) )
|
||||||
|
@ -204,10 +296,27 @@ function in_category( $category ) { // Check if the current post is in the given
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the category list for the post.
|
||||||
|
*
|
||||||
|
* @since 0.71
|
||||||
|
*
|
||||||
|
* @param string $separator Optional, default is empty string. Separator for between the categories.
|
||||||
|
* @param string $parents Optional. How to display the parents.
|
||||||
|
* @param int $post_id Optional. Post ID to retrieve categories.
|
||||||
|
*/
|
||||||
function the_category( $separator = '', $parents='', $post_id = false ) {
|
function the_category( $separator = '', $parents='', $post_id = false ) {
|
||||||
echo get_the_category_list( $separator, $parents, $post_id );
|
echo get_the_category_list( $separator, $parents, $post_id );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve category description.
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*
|
||||||
|
* @param int $category Optional. Category ID. Will use global category ID by default.
|
||||||
|
* @return string Category description, available.
|
||||||
|
*/
|
||||||
function category_description( $category = 0 ) {
|
function category_description( $category = 0 ) {
|
||||||
global $cat;
|
global $cat;
|
||||||
if ( !$category )
|
if ( !$category )
|
||||||
|
@ -216,6 +325,39 @@ function category_description( $category = 0 ) {
|
||||||
return get_term_field( 'description', $category, 'category' );
|
return get_term_field( 'description', $category, 'category' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display or retrieve the HTML dropdown list of categories.
|
||||||
|
*
|
||||||
|
* The list of arguments is below:
|
||||||
|
* 'show_option_all' (string) - Text to display for showing all categories.
|
||||||
|
* 'show_option_none' (string) - Text to display for showing no categories.
|
||||||
|
* 'orderby' (string) default is 'ID' - What column to use for ordering the
|
||||||
|
* categories.
|
||||||
|
* 'order' (string) default is 'ASC' - What direction to order categories.
|
||||||
|
* 'show_last_update' (bool|int) default is 0 - See {@link get_categories()}
|
||||||
|
* 'show_count' (bool|int) default is 0 - Whether to show how many posts are
|
||||||
|
* in the category.
|
||||||
|
* 'hide_empty' (bool|int) default is 1 - Whether to hide categories that
|
||||||
|
* don't have any posts attached to them.
|
||||||
|
* 'child_of' (int) default is 0 - See {@link get_categories()}.
|
||||||
|
* 'exclude' (string) - See {@link get_categories()}.
|
||||||
|
* 'echo' (bool|int) default is 1 - Whether to display or retrieve content.
|
||||||
|
* 'depth' (int) - The max depth.
|
||||||
|
* 'tab_index' (int) - Tab index for select element.
|
||||||
|
* 'name' (string) - The name attribute value for selected element.
|
||||||
|
* 'class' (string) - The class attribute value for selected element.
|
||||||
|
* 'selected' (int) - Which category ID is selected.
|
||||||
|
*
|
||||||
|
* The 'hierarchical' argument, which is disabled by default, will override the
|
||||||
|
* depth argument, unless it is true. When the argument is false, it will
|
||||||
|
* display all of the categories. When it is enabled it will use the value in
|
||||||
|
* the 'depth' argument.
|
||||||
|
*
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string|array $args Optional. Override default arguments.
|
||||||
|
* @return string HTML content only if 'echo' argument is 0.
|
||||||
|
*/
|
||||||
function wp_dropdown_categories( $args = '' ) {
|
function wp_dropdown_categories( $args = '' ) {
|
||||||
$defaults = array(
|
$defaults = array(
|
||||||
'show_option_all' => '', 'show_option_none' => '',
|
'show_option_all' => '', 'show_option_none' => '',
|
||||||
|
@ -271,6 +413,38 @@ function wp_dropdown_categories( $args = '' ) {
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display or retrieve the HTML list of categories.
|
||||||
|
*
|
||||||
|
* The list of arguments is below:
|
||||||
|
* 'show_option_all' (string) - Text to display for showing all categories.
|
||||||
|
* 'orderby' (string) default is 'ID' - What column to use for ordering the
|
||||||
|
* categories.
|
||||||
|
* 'order' (string) default is 'ASC' - What direction to order categories.
|
||||||
|
* 'show_last_update' (bool|int) default is 0 - See {@link
|
||||||
|
* walk_category_dropdown_tree()}
|
||||||
|
* 'show_count' (bool|int) default is 0 - Whether to show how many posts are
|
||||||
|
* in the category.
|
||||||
|
* 'hide_empty' (bool|int) default is 1 - Whether to hide categories that
|
||||||
|
* don't have any posts attached to them.
|
||||||
|
* 'use_desc_for_title' (bool|int) default is 1 - Whether to use the
|
||||||
|
* description instead of the category title.
|
||||||
|
* 'feed' - See {@link get_categories()}.
|
||||||
|
* 'feed_type' - See {@link get_categories()}.
|
||||||
|
* 'feed_image' - See {@link get_categories()}.
|
||||||
|
* 'child_of' (int) default is 0 - See {@link get_categories()}.
|
||||||
|
* 'exclude' (string) - See {@link get_categories()}.
|
||||||
|
* 'echo' (bool|int) default is 1 - Whether to display or retrieve content.
|
||||||
|
* 'current_category' (int) - See {@link get_categories()}.
|
||||||
|
* 'hierarchical' (bool) - See {@link get_categories()}.
|
||||||
|
* 'title_li' (string) - See {@link get_categories()}.
|
||||||
|
* 'depth' (int) - The max depth.
|
||||||
|
*
|
||||||
|
* @since 2.1.0
|
||||||
|
*
|
||||||
|
* @param string|array $args Optional. Override default arguments.
|
||||||
|
* @return string HTML content only if 'echo' argument is 0.
|
||||||
|
*/
|
||||||
function wp_list_categories( $args = '' ) {
|
function wp_list_categories( $args = '' ) {
|
||||||
$defaults = array(
|
$defaults = array(
|
||||||
'show_option_all' => '', 'orderby' => 'name',
|
'show_option_all' => '', 'orderby' => 'name',
|
||||||
|
@ -337,6 +511,35 @@ function wp_list_categories( $args = '' ) {
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display tag cloud.
|
||||||
|
*
|
||||||
|
* The text size is set by the 'smallest' and 'largest' arguments, which will
|
||||||
|
* use the 'unit' argument value for the CSS text size unit. The 'format'
|
||||||
|
* argument can be 'flat' (default), 'list', or 'array'. The flat value for the
|
||||||
|
* 'format' argument will separate tags with spaces. The list value for the
|
||||||
|
* 'format' argument will format the tags in a UL HTML list. The array value for
|
||||||
|
* the 'format' argument will return in PHP array type format.
|
||||||
|
*
|
||||||
|
* The 'orderby' argument will accept 'name' or 'count' and defaults to 'name'.
|
||||||
|
* The 'order' is the direction to sort, defaults to 'ASC' and can be 'DESC'.
|
||||||
|
*
|
||||||
|
* The 'number' argument is how many tags to return. By default, the limit will
|
||||||
|
* be to return the top 45 tags in the tag cloud list.
|
||||||
|
*
|
||||||
|
* The 'single_text' and 'multiple_text' arguments are used for the link title
|
||||||
|
* for the tag link. If the tag only has one, it will use the text in the
|
||||||
|
* 'single_text' or if it has more than one it will use 'multiple_text' instead.
|
||||||
|
*
|
||||||
|
* The 'exclude' and 'include' arguments are used for the {@link get_tags()}
|
||||||
|
* function. Only one should be used, because only one will be used and the
|
||||||
|
* other ignored, if they are both set.
|
||||||
|
*
|
||||||
|
* @since 2.3.0
|
||||||
|
*
|
||||||
|
* @param array|string $args Optional. Override default arguments.
|
||||||
|
* @return array Generated tag cloud, only if no failures and 'array' is set for the 'format' argument.
|
||||||
|
*/
|
||||||
function wp_tag_cloud( $args = '' ) {
|
function wp_tag_cloud( $args = '' ) {
|
||||||
$defaults = array(
|
$defaults = array(
|
||||||
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
|
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
|
||||||
|
@ -370,16 +573,33 @@ function wp_tag_cloud( $args = '' ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates a tag cloud (heatmap) from provided data
|
* Generates a tag cloud (heatmap) from provided data.
|
||||||
*
|
*
|
||||||
* TODO: Complete
|
* The text size is set by the 'smallest' and 'largest' arguments, which will
|
||||||
|
* use the 'unit' argument value for the CSS text size unit. The 'format'
|
||||||
|
* argument can be 'flat' (default), 'list', or 'array'. The flat value for the
|
||||||
|
* 'format' argument will separate tags with spaces. The list value for the
|
||||||
|
* 'format' argument will format the tags in a UL HTML list. The array value for
|
||||||
|
* the 'format' argument will return in PHP array type format.
|
||||||
*
|
*
|
||||||
* @since 2.6
|
* The 'orderby' argument will accept 'name' or 'count' and defaults to 'name'.
|
||||||
|
* The 'order' is the direction to sort, defaults to 'ASC' and can be 'DESC' or
|
||||||
|
* 'RAND'.
|
||||||
*
|
*
|
||||||
* $tags = array of objects with the properties 'name', 'link', 'id', and 'count'
|
* The 'number' argument is how many tags to return. By default, the limit will
|
||||||
* $args['format'] = 'flat' => whitespace separated, 'list' => UL, 'array' => array()
|
* be to return the entire tag cloud list.
|
||||||
* $args['orderby'] = 'name', 'count'
|
*
|
||||||
*/
|
* The 'single_text' and 'multiple_text' arguments are used for the link title
|
||||||
|
* for the tag link. If the tag only has one, it will use the text in the
|
||||||
|
* 'single_text' or if it has more than one it will use 'multiple_text' instead.
|
||||||
|
*
|
||||||
|
* @todo Complete functionality.
|
||||||
|
* @since 2.3.0
|
||||||
|
*
|
||||||
|
* @param array $tags List of tags.
|
||||||
|
* @param string|array $args Optional, override default arguments.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
function wp_generate_tag_cloud( $tags, $args = '' ) {
|
function wp_generate_tag_cloud( $tags, $args = '' ) {
|
||||||
global $wp_rewrite;
|
global $wp_rewrite;
|
||||||
$defaults = array(
|
$defaults = array(
|
||||||
|
@ -460,12 +680,26 @@ function wp_generate_tag_cloud( $tags, $args = '' ) {
|
||||||
// Helper functions
|
// Helper functions
|
||||||
//
|
//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve HTML list content for category list.
|
||||||
|
*
|
||||||
|
* @uses Walker_Category to create HTML list content.
|
||||||
|
* @since 2.1.0
|
||||||
|
* @see Walker_Category::walk() for parameters and return description.
|
||||||
|
*/
|
||||||
function walk_category_tree() {
|
function walk_category_tree() {
|
||||||
$walker = new Walker_Category;
|
$walker = new Walker_Category;
|
||||||
$args = func_get_args();
|
$args = func_get_args();
|
||||||
return call_user_func_array(array( &$walker, 'walk' ), $args );
|
return call_user_func_array(array( &$walker, 'walk' ), $args );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve HTML dropdown (select) content for category list.
|
||||||
|
*
|
||||||
|
* @uses Walker_CategoryDropdown to create HTML dropdown content.
|
||||||
|
* @since 2.1.0
|
||||||
|
* @see Walker_CategoryDropdown::walk() for parameters and return description.
|
||||||
|
*/
|
||||||
function walk_category_dropdown_tree() {
|
function walk_category_dropdown_tree() {
|
||||||
$walker = new Walker_CategoryDropdown;
|
$walker = new Walker_CategoryDropdown;
|
||||||
$args = func_get_args();
|
$args = func_get_args();
|
||||||
|
@ -476,6 +710,15 @@ function walk_category_dropdown_tree() {
|
||||||
// Tags
|
// Tags
|
||||||
//
|
//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve the link to the tag.
|
||||||
|
*
|
||||||
|
* @since 2.3.0
|
||||||
|
* @uses apply_filters() Calls 'tag_link' with tag link and tag ID as parameters.
|
||||||
|
*
|
||||||
|
* @param int $tag_id Tag (term) ID.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
function get_tag_link( $tag_id ) {
|
function get_tag_link( $tag_id ) {
|
||||||
global $wp_rewrite;
|
global $wp_rewrite;
|
||||||
$taglink = $wp_rewrite->get_tag_permastruct();
|
$taglink = $wp_rewrite->get_tag_permastruct();
|
||||||
|
@ -495,18 +738,59 @@ function get_tag_link( $tag_id ) {
|
||||||
return apply_filters( 'tag_link', $taglink, $tag_id );
|
return apply_filters( 'tag_link', $taglink, $tag_id );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve the tags for a post.
|
||||||
|
*
|
||||||
|
* @since 2.3.0
|
||||||
|
* @uses apply_filters() Calls 'get_the_tags' filter on the list of post tags.
|
||||||
|
*
|
||||||
|
* @param int $id Post ID.
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
function get_the_tags( $id = 0 ) {
|
function get_the_tags( $id = 0 ) {
|
||||||
return apply_filters( 'get_the_tags', get_the_terms( $id, 'post_tag' ) );
|
return apply_filters( 'get_the_tags', get_the_terms( $id, 'post_tag' ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve the tags for a post formatted as a string.
|
||||||
|
*
|
||||||
|
* @since 2.3.0
|
||||||
|
* @uses apply_filters() Calls 'the_tags' filter on string list of tags.
|
||||||
|
*
|
||||||
|
* @param string $before Optional. Before tags.
|
||||||
|
* @param string $sep Optional. Between tags.
|
||||||
|
* @param string $after Optional. After tags.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
function get_the_tag_list( $before = '', $sep = '', $after = '' ) {
|
function get_the_tag_list( $before = '', $sep = '', $after = '' ) {
|
||||||
return apply_filters( 'the_tags', get_the_term_list( 0, 'post_tag', $before, $sep, $after ) );
|
return apply_filters( 'the_tags', get_the_term_list( 0, 'post_tag', $before, $sep, $after ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve the tags for a post.
|
||||||
|
*
|
||||||
|
* @since 2.3.0
|
||||||
|
*
|
||||||
|
* @param string $before Optional. Before list.
|
||||||
|
* @param string $sep Optional. Separate items using this.
|
||||||
|
* @param string $after Optional. After list.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
function the_tags( $before = 'Tags: ', $sep = ', ', $after = '' ) {
|
function the_tags( $before = 'Tags: ', $sep = ', ', $after = '' ) {
|
||||||
return the_terms( 0, 'post_tag', $before, $sep, $after );
|
return the_terms( 0, 'post_tag', $before, $sep, $after );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve the terms of the taxonomy that are attached to the post.
|
||||||
|
*
|
||||||
|
* This function can only be used within the loop.
|
||||||
|
*
|
||||||
|
* @since 2.5.0
|
||||||
|
*
|
||||||
|
* @param int $id Post ID. Is not optional.
|
||||||
|
* @param string $taxonomy Taxonomy name.
|
||||||
|
* @return array|bool False on failure. Array of term objects on success.
|
||||||
|
*/
|
||||||
function get_the_terms( $id = 0, $taxonomy ) {
|
function get_the_terms( $id = 0, $taxonomy ) {
|
||||||
global $post;
|
global $post;
|
||||||
|
|
||||||
|
@ -528,6 +812,18 @@ function get_the_terms( $id = 0, $taxonomy ) {
|
||||||
return $terms;
|
return $terms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve terms as a list with specified format.
|
||||||
|
*
|
||||||
|
* @since 2.5.0
|
||||||
|
*
|
||||||
|
* @param int $id Term ID.
|
||||||
|
* @param string $taxonomy Taxonomy name.
|
||||||
|
* @param string $before Optional. Before list.
|
||||||
|
* @param string $sep Optional. Separate items using this.
|
||||||
|
* @param string $after Optional. After list.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
function get_the_term_list( $id = 0, $taxonomy, $before = '', $sep = '', $after = '' ) {
|
function get_the_term_list( $id = 0, $taxonomy, $before = '', $sep = '', $after = '' ) {
|
||||||
$terms = get_the_terms( $id, $taxonomy );
|
$terms = get_the_terms( $id, $taxonomy );
|
||||||
|
|
||||||
|
@ -549,6 +845,18 @@ function get_the_term_list( $id = 0, $taxonomy, $before = '', $sep = '', $after
|
||||||
return $before . join( $sep, $term_links ) . $after;
|
return $before . join( $sep, $term_links ) . $after;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the terms in a list.
|
||||||
|
*
|
||||||
|
* @since 2.5.0
|
||||||
|
*
|
||||||
|
* @param int $id Term ID.
|
||||||
|
* @param string $taxonomy Taxonomy name.
|
||||||
|
* @param string $before Optional. Before list.
|
||||||
|
* @param string $sep Optional. Separate items using this.
|
||||||
|
* @param string $after Optional. After list.
|
||||||
|
* @return null|bool False on WordPress error. Returns null when displaying.
|
||||||
|
*/
|
||||||
function the_terms( $id, $taxonomy, $before = '', $sep = '', $after = '' ) {
|
function the_terms( $id, $taxonomy, $before = '', $sep = '', $after = '' ) {
|
||||||
$return = get_the_term_list( $id, $taxonomy, $before, $sep, $after );
|
$return = get_the_term_list( $id, $taxonomy, $before, $sep, $after );
|
||||||
if ( is_wp_error( $return ) )
|
if ( is_wp_error( $return ) )
|
||||||
|
@ -558,15 +866,16 @@ function the_terms( $id, $taxonomy, $before = '', $sep = '', $after = '' ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the current post has the given tag
|
* Check if the current post has the given tag.
|
||||||
*
|
*
|
||||||
* @package WordPress
|
* This function is only for use within the WordPress Loop.
|
||||||
* @since 2.6
|
*
|
||||||
|
* @since 2.6.0
|
||||||
*
|
*
|
||||||
* @uses wp_get_object_terms() Gets the tags.
|
* @uses wp_get_object_terms() Gets the tags.
|
||||||
*
|
*
|
||||||
* @param string|int|array $tag Optional. The tag name/id/slug or array of them to check for
|
* @param string|int|array $tag Optional. The tag name/id/slug or array of them to check for.
|
||||||
* @return bool True if the current post has the given tag, or any tag, if no tag specified
|
* @return bool True if the current post has the given tag, or any tag, if no tag specified.
|
||||||
*/
|
*/
|
||||||
function has_tag( $tag = '' ) {
|
function has_tag( $tag = '' ) {
|
||||||
global $post;
|
global $post;
|
||||||
|
|
Loading…
Reference in New Issue