显示自定义分类术语的子项
Show children of custom taxonomy terms
我有 WP Jb 管理器插件,我认为它只是一个自定义的 post 作业类型。我启用了类别创建了一些类别。
我只需要显示每个类别的子项而不是整个类别列表。
我有以下代码:
<?php
$terms = get_terms( 'job_listing_category', 'orderby=count&hide_empty=0' );
$count = count($terms);
if ( $count > 0 ){
echo "<ul>";
foreach ( $terms as $term ) {
echo "<li>" . $term->name . "</li>";
}
echo "</ul>";
}
?>
它输出所有类别(父项和子项)的列表,如下所示:
- 办公室
- 仓库
- 制造业
- 工业
- 施工
- 建筑服务工程师
父类别是粗体:办公室、工业和建筑。我想取其中一个,只显示该类别的子项。
例如:get_category('industrial', 'children_of')
(我知道这不是正确的语法),所以它会导致仅显示工业类别的子项:
- 仓库
- 制造业
我似乎无法找到执行此操作的方法 - 谁能帮忙?
您可以获取父类别,然后像这样为每个子类别构建一个列表:
<?php
$taxonomies = get_terms(array(
'taxonomy' => 'job_listing_category',
'hide_empty' => false,
'parent' => 0,
));
if (!empty($taxonomies)):
foreach ($taxonomies as $parent) {
$output = '<ul>';
$children = get_terms(array(
'taxonomy' => 'job_listing_category',
'parent' => $parent->term_id,
'hide_empty' => false,
));
foreach ($children as $child) {
$output .= '<li>' . esc_html($child->name) . '</li>';
}
$output = '</ul>';
}
echo $output;
endif;
请注意,代码未经测试。在此处查找更多信息:https://developer.wordpress.org/reference/functions/get_terms/
我使用以下代码设法做到了这一点:
<?php
$terms = get_terms( 'job_listing_category', 'parent=59' );
$count = count($terms);
if ( $count > 0 ){
echo "<ul>";
foreach ( $terms as $term ) {
echo "<li>" . $term->name . "</li>";
}
echo "</ul>";
}
?>
我有 WP Jb 管理器插件,我认为它只是一个自定义的 post 作业类型。我启用了类别创建了一些类别。
我只需要显示每个类别的子项而不是整个类别列表。
我有以下代码:
<?php
$terms = get_terms( 'job_listing_category', 'orderby=count&hide_empty=0' );
$count = count($terms);
if ( $count > 0 ){
echo "<ul>";
foreach ( $terms as $term ) {
echo "<li>" . $term->name . "</li>";
}
echo "</ul>";
}
?>
它输出所有类别(父项和子项)的列表,如下所示:
- 办公室
- 仓库
- 制造业
- 工业
- 施工
- 建筑服务工程师
父类别是粗体:办公室、工业和建筑。我想取其中一个,只显示该类别的子项。
例如:get_category('industrial', 'children_of')
(我知道这不是正确的语法),所以它会导致仅显示工业类别的子项:
- 仓库
- 制造业
我似乎无法找到执行此操作的方法 - 谁能帮忙?
您可以获取父类别,然后像这样为每个子类别构建一个列表:
<?php
$taxonomies = get_terms(array(
'taxonomy' => 'job_listing_category',
'hide_empty' => false,
'parent' => 0,
));
if (!empty($taxonomies)):
foreach ($taxonomies as $parent) {
$output = '<ul>';
$children = get_terms(array(
'taxonomy' => 'job_listing_category',
'parent' => $parent->term_id,
'hide_empty' => false,
));
foreach ($children as $child) {
$output .= '<li>' . esc_html($child->name) . '</li>';
}
$output = '</ul>';
}
echo $output;
endif;
请注意,代码未经测试。在此处查找更多信息:https://developer.wordpress.org/reference/functions/get_terms/
我使用以下代码设法做到了这一点:
<?php
$terms = get_terms( 'job_listing_category', 'parent=59' );
$count = count($terms);
if ( $count > 0 ){
echo "<ul>";
foreach ( $terms as $term ) {
echo "<li>" . $term->name . "</li>";
}
echo "</ul>";
}
?>