【问题标题】:Get subcategories after drop down box selection in wordpress在wordpress中选择下拉框后获取子类别
【发布时间】:2011-07-04 13:46:24
【问题描述】:

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

    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');

第 2 行代码查找属于 ID 号为主类别的所有子类别。 6.第一个下拉框改变时如何自动改变6号?例如。如果我从下拉框中选择 ID 7,我需要显示 ID 7 的子类别而不是 ID 6。

感谢您的帮助

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

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

alert("test");

});

【问题讨论】:

    标签: php javascript jquery wordpress


    【解决方案1】:

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

    【讨论】:

    • 谢谢 cweiske,我试试看。我不确定如何在 wordpress 中编辑这样的函数,所以我试图通过 Jquery 来完成,你知道我在编辑的问题中做错了什么吗?
    【解决方案2】:

    Daniel,您可以使用本教程来帮助您入门:

    http://www.1stwebdesigner.com/css/implement-ajax-wordpress-themes/

    【讨论】:

      【解决方案3】:

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

      您还可以通过将第一个下拉菜单行的“id”属性设置为您想要的数字来触发第二个下拉菜单,并且在点击/悬停时您可以通过 ID 进行过滤。

      【讨论】:

        【解决方案4】:
        <?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;
                        ?>
        

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多