Php wp_下拉列表_类别不可单击

Php wp_下拉列表_类别不可单击,php,wordpress,list,children,Php,Wordpress,List,Children,Soo我编写了这段Php代码来列出当前类别的子类别。 它甚至会检查类别是否有子类别,如果有子类别,它会列出它们 但问题是,虽然它在我的网站上看起来不错。这些链接根本不起作用。当我从列表中选择一个子类别并单击它时,不会发生任何事情 <?php $args = array( 'hierarchical' => 0, 'orderby'=> 'title', 'show_option_none' => 'Subcategories', 'parent' => ge

Soo我编写了这段Php代码来列出当前类别的子类别。 它甚至会检查类别是否有子类别,如果有子类别,它会列出它们

但问题是,虽然它在我的网站上看起来不错。这些链接根本不起作用。当我从列表中选择一个子类别并单击它时,不会发生任何事情

<?php
$args = array(
 'hierarchical' => 0,
 'orderby'=> 'title',
 'show_option_none' => 'Subcategories',
 'parent' => get_query_var('cat'));

$term = get_queried_object();

$children = get_terms( $term->taxonomy, array(
'parent'    => $term->term_id,
'hide_empty' => true
) ); 

if($children) {

wp_dropdown_categories($args);
}
?>

以下是我网站上的列表图片:


问题是您没有设置任何处理程序来提交/处理请求

我将引导您转到官方文档示例,在那里您可以找到纯php或javascript解决方案


如果您需要解释,请留下评论。

这是更改后的基本url和我的$args中添加的行 这让我想到


将其更改为“使用JavaScript(2)”示例中的“没有提交按钮的下拉列表”。然而,它仍然是不可分辨的。请参见下面注释中的代码!我更改了您的参数并添加了“name”=>“category\u name”,它将查询变量的键从cat修改为WP使用的category\u name。那么它应该会起作用。然而,它不会显示下拉列表,因为由于if($children)语句选择了category,我建议将其删除或替换为其他内容。
<form id="category-select" class="category-select" action="<?php echo esc_url( home_url( '/category/'.get_cat_name($cat).'/' ) ); ?>" method="get">
<?php
$args = array(
 'cat' => get_query_var('cat'),
 'hierarchical' => 0,
 'value_field'      => 'slug',
 'orderby'=> 'title',
 'show_option_none' => 'Subcategories',
 'echo' => false,
 'parent' => get_query_var('cat'));

$term = get_queried_object();

$children = get_terms( $term->taxonomy, array(
'parent'    => $term->term_id,
'hide_empty' => true
) ); 

if($children) {


$select  = wp_dropdown_categories($args);
$replace = "<select$1 onchange='return this.form.submit()'>";
$select  = preg_replace( '#<select([^>]*)>#', $replace, $select );
echo $select;

}

?>
<noscript>
        <input type="submit" value="View" />
    </noscript>