Я чувствую, что я действительно чего-то здесь не вижу. Я сделал некоторые ручные настройки на коротком (Wordpress) скрипте и попытался установить <select><option>
на «selected», если он был выбран. Для этого я попытался выяснить, соответствует ли значение $term->id = similar
выбранному значению параметра (которое также является идентификатором). Пока все хорошо, но я не могу получить представленные <select><option>
. Все, что он говорит, это «массив».Получить выбранное значение из выпадающего меню из массива?
Ниже приведен мой сценарий. Кто-нибудь видит, что я делаю неправильно здесь? Чтобы быть ясным, это, кажется, все о $_GET["listing_cat"]
здесь. Также, когда я пытаюсь напечатать $_GET["listing_cat"]
в пределах foreach
, все его выходы - это «массив».
<form method="get" action="<?php echo trailingslashit(home_url()); ?>" class="custsearch">
<select name="listing_cat[]">
<option value="1" disabled="disabled" <?php if(!count($_GET)>0 || !$_GET["listing_cat"]){ echo 'selected="selected"';} ?>>Pls choose</option>
<?php
$cat_args = array(
'orderby' => 'id',
'parent' => 0,
'hide_empty' => false
);
$terms = get_terms('listing_category', $cat_args);
foreach ($terms as $term) {
printf('<option class="level-0" value="' . $term->term_id .'"');
if($_GET["listing_cat"] == $term->term_id) { echo 'selected="selected"'; }
printf('>%s</option>', $term->slug, $term->name);
}
?>
</select>
</form>
это может быть совершенно не связанным, но вы понимаете, что у вас есть скобки на названии выбора? что, безусловно, заставляет меня думать, что интерпретация значения должна быть массивом. Если бы это был мульти-выбор, было бы разумно, что это его массив в get, в любом случае foeach на listing_cat, посмотрите, что там –