我需要为帖子创建自定义分类结构。我已经阅读了WP Codex,我相信我可以解决这个问题。我的自定义分类将是分层的。
我需要做的是根据这个新的分类法创建一个过滤器。我需要用下拉框来做这件事。
以下是我的自定义分类法的示例:
我需要的是有2个下拉框。第一个将包含所有顶级类别(文章,修正等......),然后当选择其中一个类别时,它将填充/生成所有子类别的第二个下拉列表。
我怎样才能做到这一点?
它不会让我发布这么多代码所以我必须编辑我原来的问题....
以下代码就是我在本页http://www.constitutingamerica.org/dev2
上的代码<?php $args = array(
'show_option_all' => '',
'show_option_none' => '',
'orderby' => 'ID',
'order' => 'ASC',
'show_count' => 1,
'hide_empty' => 0,
'child_of' => 0,
'parent' => 0,
'exclude' => '',
'echo' => 1,
'selected' => 0,
'hierarchical' => 0,
'name' => 'cat',
'id' => '',
'class' => 'postform',
'depth' => 1,
'tab_index' => 0,
'taxonomy' => 'classification',
'hide_if_empty' => false,
'walker' => ''
);
$tax_menu_items = get_categories( $args ); ?>
<form name="class-filter" method="get" >
<select name="class-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option value="">Select</option>
<? foreach ( $tax_menu_items as $tax_menu_item ): ?>
<option value="<?php echo get_term_link($tax_menu_item,$tax_menu_item->taxonomy); ?>"><?php echo $tax_menu_item->name; ?></option>
<?php endforeach; ?>
</select>
<?php
$sub_tax_id = $wp_query->get_queried_object_id();
if(isset($sub_tax_id)) {
$args2 = array(
'show_option_all' => '',
'show_option_none' => '',
'orderby' => 'ID',
'order' => 'ASC',
'show_count' => 1,
'hide_empty' => 0,
'child_of' => 0,
'parent' => $sub_tax_id,
'exclude' => '',
'echo' => 1,
'selected' => 0,
'hierarchical' => 0,
'name' => 'cat',
'id' => '',
'class' => 'postform',
'depth' => 1,
'tab_index' => 0,
'taxonomy' => 'classification',
'hide_if_empty' => false,
'walker' => ''
);
$tax_menu_items2 = get_categories( $args2 ); ?>
<select name="class-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option value="">Select</option>
<? foreach ( $tax_menu_items2 as $tax_menu_item2 ): ?>
<option value="<?php echo get_term_link($tax_menu_item2,$tax_menu_item2->taxonomy); ?>"><?php echo $tax_menu_item2->name; ?></option>
<?php endforeach; ?>
</select>
<? } ?>
</form>
我很亲密。我的问题是,当选择第二个框时,它会将第二个框重置为与第一个框相同的父分类。我怎样才能获得第二次下拉以保留所有原始的儿童分类法?
答案 0 :(得分:0)
启用自定义帖子类型的类别。您需要隐藏默认类别选择元框,并创建自己的。
对于代码,您需要检索所有父级别类别并构建下拉列表。选择类别后,您将需要使用AJAX来检索所选父级的类别列表。
保存CPT的代码必须查看自定义下拉菜单,以确定其所属的实际类别,并将其正确显示给用户。