get_category_parents()获取分类目录的父分类列表

功能:

get_category_parents()函数用来获取一个分类的父分类列表。

用法:

<?php get_category_parents($id, $link, $separator, $nicename, $visited); ?>

参数:

$id
(integer) (必须的) 分类 ID.
默认值: 无
$link
(boolean) (可选的) 是否为每一个分类生成链接地址.
默认值: false
$separator
(string) (可选的) 分类之间的分隔符.
默认值: ‘/’
$nicename
(boolean) (可选的) 是否显示名称. 设置true, the category slug will be used instead of the category name.
默认值: false
$visited
(boolean) (可选的) Already linked-to categories. This parameter is used internally by the function, which makes recursive calls to itself, to prevent duplicates in the returned list.
Default: array()

返回值:

(string|WP_Error)
返回用$separator分割的分类列表,错误则返回WP_Error

所在位置:

get_category_parents() 包含在 wp-includes/category-template.php

源码:

/**
 * 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|WP_Error A list of category parents on success, WP_Error on failure.
 */
function get_category_parents( $id, $link = false, $separator = '/', $nicename = false, $visited = array() ) {
	$chain = '';
	$parent = get_term( $id, 'category' );
	if ( is_wp_error( $parent ) )
		return $parent;
 
	if ( $nicename )
		$name = $parent->slug;
	else
		$name = $parent->name;
 
	if ( $parent->parent && ( $parent->parent != $parent->term_id ) && !in_array( $parent->parent, $visited ) ) {
		$visited[] = $parent->parent;
		$chain .= get_category_parents( $parent->parent, $link, $separator, $nicename, $visited );
	}
 
	if ( $link )
		$chain .= '<a href="' . esc_url( get_category_link( $parent->term_id ) ) . '">'.$name.'</a>' . $separator;
	else
		$chain .= $name.$separator;
	return $chain;
}

示例:

<?php
    echo get_category_parents(1, false, '-', false);
    echo get_category_parents(2, true, '*', true);
?>

相关函数:

get_category_link()

(完)

版权声明WordPress头条正在使用WordPress文章版权插件
如未注明,均为原创,转载需注明出处
本文链接地址:http://www.wptoutiao.com/functions/176.html

分类目录的相关文章

分类管理的相关文章

还可以分享文章给好友:

get_category_parents()获取分类目录的父分类列表”有1个评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注