方法一
摘自WordPress官方网站。仅显示公共自定义分类法的列表 — 不会列出包括 WordPress 内置分类法(例如,类别和标签):
$args = array(
'public' => true,
'_builtin' => false
);
$output = 'names'; // or objects
$operator = 'and'; // 'and' or 'or'
$taxonomies = get_taxonomies( $args, $output, $operator ); //分类名称或对象的数组
if ( $taxonomies ) {
echo '<ul>';
foreach ( $taxonomies as $taxonomy ) {
echo '<li>' . $taxonomy . '</li>';
}
echo '</ul>';
}
方法二
在WordPress中,获取全部自定义分类法(taxonomy)可以使用 get_taxonomies() 函数。这个函数会返回一个包含所有注册的分类法的数组。
以下是一个示例代码,展示如何获取并显示所有自定义分类法:
<?php
// 获取所有分类法
$taxonomies = get_taxonomies( array( 'public' => true, '_builtin' => false ), 'objects' );
// 检查是否有分类法
if ( ! empty( $taxonomies ) ) {
echo '<ul>';
// 遍历分类法并输出名称和标签
foreach ( $taxonomies as $taxonomy ) {
echo '<li>' . esc_html( $taxonomy->name ) . ' - ' . esc_html( $taxonomy->label ) . '</li>';
}
echo '</ul>';
} else {
echo '没有找到自定义分类法。';
}
?>
代码说明:
get_taxonomies()函数:
- 第一个参数是一个数组,用于指定查询条件。
'public' => true表示只获取公开的分类法,'_builtin' => false表示排除WordPress内置的分类法(如“分类”和“标签”)。 - 第二个参数
'objects'表示返回分类法对象,而不是默认的数组。
- 遍历分类法:
- 使用
foreach循环遍历每个分类法对象,并输出分类法的名称 (name) 和标签 (label)。
- 输出结果:
- 如果有自定义分类法,它们将以列表形式显示;如果没有找到自定义分类法,将显示“没有找到自定义分类法”。
其他用法:
- 如果你想获取所有分类法(包括内置的分类法),可以去掉
'_builtin' => false这个条件:
$taxonomies = get_taxonomies( array( 'public' => true ), 'objects' );
- 如果你只想获取分类法的名称(而不是对象),可以将第二个参数设置为
'names':
$taxonomies = get_taxonomies( array( 'public' => true, '_builtin' => false ), 'names' );
通过这些方法,你可以轻松获取并显示WordPress中的所有自定义分类法。

