Php wp_下拉列表_类别不可单击
Soo我编写了这段Php代码来列出当前类别的子类别。 它甚至会检查类别是否有子类别,如果有子类别,它会列出它们 但问题是,虽然它在我的网站上看起来不错。这些链接根本不起作用。当我从列表中选择一个子类别并单击它时,不会发生任何事情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
<?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>