使用chained.js的自定义分类的链接下拉菜单

时间:2013-11-22 作者:Jon Furry

我正在尝试使用链式选择来选择一个州,然后选择一个有该州的城市。(2个字段)。

以下是我得到的:

首先,我的函数使用get\\u categories()创建菜单。

第一个问题:不知道该为$child放什么,才能让它只显示子类别。

function taxonomy_dropdown($dropID, $exclude, $taxonomy, $parent, $child) {
    $args = array(
        \'type\'                     => \'post\',
        \'child_of\'                 => $child,
        \'parent\'                   => $parent, 
        \'orderby\'                  => \'name\',
        \'order\'                    => \'ASC\',
        \'hide_empty\'               => 0,
        \'hierarchical\'             => 1,
        \'exclude\'                  => $exclude,
        \'include\'                  => \'\',
        \'number\'                   => \'\',
        \'taxonomy\'                 => $taxonomy,
        \'pad_counts\'               => false
    );

    $categories = get_categories( $args );

    $menu = \'<select name="\'.$dropID.\'" id="\'.$dropID.\'" class="postform">\';

    foreach($categories as $category) {
        $menu .= \'<option class="" value="\'.$category->name.\'">\'.$category->name.\'</option>\';
    }   
    $menu .= \'</select>\';
    echo $menu;
}
在我的插件中,函数的调用方式如下:

<? 
    taxonomy_dropdown(\'state\',\'\',\'states_category\',\'0\'); 
    taxonomy_dropdown(\'city\',\'\',\'states_category\',\'\',\'1\');
?>
“city”的第二个不起作用,因为上面的问题是,我无法只获取子类别。

所以,一旦我做到这一点,我应该有两个选择,一个显示“州”,一个显示“城市”

这就是我迷路的地方。我想用链子。js公司(http://www.appelsiini.net/projects/chained) 将这两个选择菜单转换为链式选择。

我很确定我已经将它正确地放入了我的插件中:

function includeChained() {
    wp_enqueue_script(
        \'chained\',
        plugins_url( \'/js/chained/chained.min.js\' , __FILE__ ),
        array( \'jquery\' )
    );
}
add_action( \'wp_enqueue_scripts\', \'includeChained\' );
现在,我完全不知道如何使用jQuery和JavaScript,而不仅仅是最基本的。我尝试了文档中显示的使用基于类的用法:

<script>
$("#state").chained("#city");
</script>
但什么都没发生。

1 个回复
SO网友:Gurkan

代码在此处:Wordpress chained categories

我为类别编写了相同的代码。您可以根据需要进行编辑。我使用了js插件:http://www.appelsiini.net/projects/chained

结束