WordPress函数get_categories()获取分类信息函数
WordPress 中的函数get_categories () WordPress PHP 函数根据给定参数检索类别对象列表。
推荐:[最新版]Slider Revolution滑块插件WordPress滑块插件
get_categories()函数基本语法
描述
检索类别对象的列表。
用法
$categories = get_categories($args);
参数
- $args (string|array) – 可选。检索类别的参数
推荐:[最新版]TranslatePress Pro插件下载WordPress翻译插件
get_categories()函数
get_categories()
对于检索和显示主题和插件中的类别很有用(源文件可参考这里)
function get_categories( $args = '' ) {
$defaults = array( 'taxonomy' => 'category' );
$args = wp_parse_args( $args, $defaults );
/**
* Filters the taxonomy used to retrieve terms when calling get_categories().
*
* @since 2.7.0
*
* @param string $taxonomy Taxonomy to retrieve terms from.
* @param array $args An array of arguments. See get_terms().
*/
$args['taxonomy'] = apply_filters( 'get_categories_taxonomy', $args['taxonomy'], $args );
// Back compat.
if ( isset( $args['type'] ) && 'link' === $args['type'] ) {
_deprecated_argument(
__FUNCTION__,
'3.0.0',
sprintf(
/* translators: 1: "type => link", 2: "taxonomy => link_category" */
__( '%1$s is deprecated. Use %2$s instead.' ),
'<code>type => link</code>',
'<code>taxonomy => link_category</code>'
)
);
$args['taxonomy'] = 'link_category';
}
$categories = get_terms( $args );
if ( is_wp_error( $categories ) ) {
$categories = array();
} else {
$categories = (array) $categories;
foreach ( array_keys( $categories ) as $k ) {
_make_cat_compat( $categories[ $k ] );
}
}
return $categories;
}
推荐:ProjectHuddle插件WordPress网站设计交流插件
如何使用get_categories()
列表类别和描述,此示例按字母顺序列出所有类别,并显示其描述和帖子计数。
$categories = get_categories(array('orderby' => 'name', 'order' => 'ASC'));
foreach ($categories as $category) {
...
}
获取已使用和未使用的类别,此示例返回正在使用(分配给帖子)和未使用(未分配给任何帖子)的类别。
$args = array('hide_empty' => false);
$all_categories = get_categories($args);
仅获取顶级类别,此示例获取顶级类别的链接和名称。
$categories = get_categories(array('orderby' => 'name', 'parent' => 0));
foreach ($categories as $category) {
...
}
显示特定类别父标题以及子类别的链接菜单,此示例显示特定类别父标题及其子类别的链接菜单。
<div class="category-menu-container">
<ul class="category-menu">
<li class="unstyled">
<h4 class="category-menu-heading">
<?php echo get_cat_name( $category_id = 130 );?>
</h4>
</li>
<?php
$categories = get_categories( array(
'orderby' => 'name',
'order' => 'ASC',
'parent' => 130,
) );
foreach( $categories as $category ) {
$category_link = sprintf(
'<a href="%1$s" alt="%2$s">%3$s</a>',
esc_url( get_category_link( $category->term_id ) ),
esc_attr( sprintf( __( 'View all posts in %s', 'textdomain' ), $category->name ) ),
esc_html( $category->name )
);
echo '<p>' . sprintf( esc_html__( '%s', 'textdomain' ), $category_link ) . '</p> ';
}
?>
</ul>
</div>
获取帖子数大于 5 的类别,此示例检索具有超过 5 个帖子的类别。
$categories = get_categories();
foreach ($categories as $category) {
if ($category->count > 5) {
...
}
}
推荐:WordPress函数wp_check_filetype()检索文件类型