2017-02-22 5 views
0

Су, я сделал этот код Php, чтобы отобразить подкатегории текущей категории. Он даже проверяет, есть ли у категории дети, или нет, и если он это перечисляет.wp_dropdown_categories не может быть нажата

Проблема, однако, заключается в том, что пока он выглядит хорошо на моем веб-сайте. Ссылки просто не работают. Когда я выбираю подкатегорию из списка и нажимаю, ничего не происходит.

<?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); 
} 
?> 

Вот изображение списка на моем сайте:

Screenshot

ответ

0

Это с измененной базовой URL и добавили строки в моем $ арге Это посылает мне http://www.papercraftplaza.com/category/animals/?cat=bear

<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> 

+0

Я изменил ваши аргументы и добавил 'name' => 'category_name', которые изменяют ключ переменной запроса от cat до category_name, который использует WP. Тогда это должно сработать. Однако он не отображает выпадающее меню, поскольку категория выбрана из-за инструкции if ($ children), я предлагаю удалить ее или заменить чем-то другим. – keyBeatz

+0

Удивительно, что сейчас это работает! –

0

Проблема вы не устанавливает никакого обработчика представить/обработать запрос.

Я перенаправляю вас к официальным документальным примерам, где вы можете найти чистые php или javascript.

https://codex.wordpress.org/Function_Reference/wp_dropdown_categories#Examples

Если вам нужно что-то объяснить, пожалуйста, оставьте комментарий.

+0

Изменен его как «раскрывающаяся без Submit Button с помощью JavaScript (2) " пример. однако он по-прежнему нецелесообразен. Посмотрите на приведенный ниже код! –

Смежные вопросы