2013-09-17 5 views
1

Мне нужно отображать различные категории в Wordpress. Пользователь может выбрать класс (Pyromancer, Shaman, Warden) игрового типа (Arena, Guides, Montages). www.Forge-Movies.com - это то, о чем я говорю. Со следующим кодом категории не отображаются. Но в названии выпадающего списка находятся категории «Категории» (show_option_none = Категории). По-видимому, что происходит неправильно при запросе.Wordpress: Показать различные категории в раскрывающемся списке

<form action="<?php bloginfo('url'); ?>/" method="get"><div> 
<?php 

     if (in_category('montages')) 
      { 
      $cat_id = get_cat_id('montages'); 
      $select = wp_dropdown_categories('show_option_none=Categories&echo=0&hierarchical=1&parent='. $cat_id); 
      $select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select); 
      echo $select; 
      } 
     elseif (in_category('guides')) 
      { 
      $cat_id = get_cat_id('guides'); 
      $select = wp_dropdown_categories('show_option_none=Categories&echo=0&hierarchical=1&parent='. $cat_id); 
      $select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select); 
      echo $select; 
      } 
     ?> 
<noscript><div><input type="submit" value="View" /></div></noscript></div></form> 

Забавно, но выполняется следующий код.

<form action="<?php bloginfo('url'); ?>/" method="get"><div> 
<?php 
$cat_id1 = get_cat_id('guides'); 

$select = wp_dropdown_categories('show_option_none=Categories&echo=0&hierarchical=1&parent='. $cat_id1); 
$select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select); 
echo $select; 
?> 
<noscript><div><input type="submit" value="View" /></div></noscript></div></form> 

Извините за мой плохой английский. Я перевел несколько слов с немецкого на английский.

+0

Хорошо, теперь у меня есть другой вариант, но мне это не нравится, потому что программирование довольно грязное. Мне не нравится код. Гиды - это только одна из нескольких категорий. Помимо гидов у меня есть Arena и Montages. Тогда есть подкатегории для каждой категории. В результате код длится милю. Что вы думаете? Что я могу сделать лучше или обобщить или даже совсем другое? – Mimonade

+0

Форма ] *)> #", "", $ select); echo $ select; }?> /Форма – Mimonade

ответ

0

Хорошо, я решил свою проблему. Это работает для меня:

<form action="<?php bloginfo('url'); ?>/" method="get" style="display:inline-block;">div> 
    <?php 
    if (is_category(array('7', '53', '58', '59', '60', '61', '62', '63'))) 
    { 
    //Montages 
    $cat_id1 = get_cat_id('montages'); 
    $select = wp_dropdown_categories('show_option_none=Classes&echo=0&hierarchical=1&parent='. $cat_id1); 
    $select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select); 
    echo $select; 
    } 
    elseif (is_category(array('6', '64', '65', '66', '67', '68', '69', '70'))) 
    { 
    //Arena 
    $cat_id1 = get_cat_id('Arena'); 
    $select = wp_dropdown_categories('show_option_none=Classes&echo=0&hierarchical=1&parent='. $cat_id1); 
    $select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select); 
    echo $select; 
    } 
    elseif (is_category(array('8', '71', '72', '73', '74', '75', '76', '77'))) 
    { 
    //Guides 
    $cat_id1 = get_cat_id('Guides'); 
    $select = wp_dropdown_categories('show_option_none=Classes&echo=0&hierarchical=1&parent='. $cat_id1); 
    $select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select); 
    echo $select; 
    } 
    ?> 
    <noscript><div><input type="submit" value="View" /></div></noscript></div></form>`` 
Смежные вопросы