Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在wordpress中选择下拉框后获取子类别_Php_Javascript_Jquery_Wordpress - Fatal编程技术网

Php 在wordpress中选择下拉框后获取子类别

Php 在wordpress中选择下拉框后获取子类别,php,javascript,jquery,wordpress,Php,Javascript,Jquery,Wordpress,我目前有一个下拉框,其中包含了我的网站上的所有不同类别的列表,我需要在下面添加一个子类别框。到目前为止,我有以下代码: wp_dropdown_categories('show_option_none='.__('Select one','appthemes').'&class=dropdownlist&orderby=name&order=ASC&hide_empty=0&hierarchical=1&taxonomy=ad_cat&am

我目前有一个下拉框,其中包含了我的网站上的所有不同类别的列表,我需要在下面添加一个子类别框。到目前为止,我有以下代码:

    wp_dropdown_categories('show_option_none='.__('Select one','appthemes').'&class=dropdownlist&orderby=name&order=ASC&hide_empty=0&hierarchical=1&taxonomy=ad_cat&depth=1&name=preselect');

   wp_dropdown_categories('show_option_none='.__('Select one','appthemes').'&class=dropdownlist&orderby=name&order=ASC&hide_empty=0&hierarchical=1&taxonomy=ad_cat&child_of=6');
代码的第二行查找属于ID号为6的主类别的所有子类别。当第一个下拉框更改时,我将如何自动更改no.6?例如,如果我从下拉框中选择ID 7,我需要显示ID 7的子类别,而不是ID 6

谢谢你的帮助

编辑:我正在尝试在选择一个下拉选项后运行一个函数,有人能告诉我我做错了什么吗

$('#cat').click(function() {

alert("test");

});

您可以使用Javascript实现这一点。在第一个下拉列表中添加
onchange
属性,并通过Ajax加载第二个下拉列表的内容。

如果您没有太多的项目,您可能希望筛选客户端,而不是让wordpress每次都运行新的查询


您还可以通过将第一个下拉列表行的“id”属性设置为所需的数字来触发第二个下拉列表,单击/悬停可以通过id进行过滤。

Daniel您可以使用本教程开始:



使用上面的代码在下拉列表中显示主类别的子类别39是您需要在下拉列表中显示的子类别的类别ID。

谢谢cweiske,我会尝试一下。我不知道如何在wordpress中编辑这样的函数,所以我尝试通过Jquery来做,你知道我在编辑的问题中做错了什么吗?
<?php
                $orderby = 'name';
                            $show_count = 0; // 1 for yes, 0 for no
                            $pad_counts = 0; // 1 for yes, 0 for no
                            $hierarchical = 1; // 1 for yes, 0 for no
                            $taxonomy = 'portfolio_category';
                            $title = '';


                    if( $terms = get_terms( array( 'child_of' => 39,
                                              'orderby' => $orderby,
                                              'show_count' => $show_count,
                                              'pad_counts' => $pad_counts,
                                              'hierarchical' => $hierarchical,
                                              'taxonomy' => $taxonomy,
                                              'depth'    => 2,
                                              'hide_empty' => 0 ) ) ) : 

                        echo '<select class="techno-portfolio" name="categoryfilter"><option value="">Select technology</option>';
                        foreach ( $terms as $term ) :
                            echo '<option value="' . $term->term_id . '">' . $term->name . '</option>'; // ID of the category as the value of an option
                        ;
                        endforeach;
                        echo '</select>';
                    endif;
                ?>