PHP Dropdown выберите эхо нескольких таксономий - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть 3 выпадающих списка, которые я приковываю: округ, город, район.Мне нужно напечатать все это в каждой опции выбора как класс, чтобы я мог использовать jquery для настройки правил показа / скрытия.В настоящее время я просто имею, например,

<option value="thiscounty">This County</option>

, что мне нужно, это

<option value="thiscounty" class="thiscity thisarea">This County</option>

Это мой код

if(!function_exists('ct_search_form_select')) {
function ct_search_form_select($name, $taxonomy_name = null) {
    global $search_values;
    global $ct_options;

    $ct_zip_or_post = isset( $ct_options['ct_zip_or_post'] ) ? $ct_options['ct_zip_or_post'] : '';
    $ct_city_town_or_village = isset( $ct_options['ct_city_town_or_village'] ) ? $ct_options['ct_city_town_or_village'] : '';
    $ct_state_or_area = isset( $ct_options['ct_state_or_area'] ) ? $ct_options['ct_state_or_area'] : '';
    $ct_community_neighborhood_or_district = isset( $ct_options['ct_community_neighborhood_or_district'] ) ? $ct_options['ct_community_neighborhood_or_district'] : '';

    if(!$taxonomy_name) {
        $taxonomy_name = $name;
        $tax_label = str_replace('_', ' ', $name);
        $tax_name_stripped = str_replace('ct ', '', $tax_label);

        if($tax_name_stripped == 'property type') {
            $tax_name = __('Property Type', 'contempo');
        } elseif($tax_name_stripped == 'county') {
            $tax_name = __('County', 'contempo');
        } elseif($tax_name_stripped == 'city') {
            $tax_name = __('City', 'contempo');
        } elseif($tax_name_stripped == 'state' && $ct_state_or_area == 'area') {
            $tax_name = __('Area', 'contempo');
        } elseif($tax_name_stripped == 'community') {
            $tax_name = __('Community', 'contempo');
        }
    } ?>
    <select id="ct_<?php echo esc_html($name); ?>" name="ct_<?php echo esc_html($name); ?>">
        <option value="0"><?php echo esc_html(ucfirst($tax_name)); ?></option>
        <?php foreach( get_terms($taxonomy_name, 'hide_empty=true') as $t ) : ?>
            <?php if ($search_values[$name] == $t->slug) { $selected = 'selected=selected '; } else { $selected = ''; } ?>
            <option <?php echo esc_html($selected); ?>value="<?php echo esc_attr($t->slug); ?>"><?php echo esc_html($t->name); ?></option>
        <?php endforeach; ?>
    </select>
    <?php
}

}

Я, очевидно,Нужно добавить городские и районные таксономии в цикл foreach, чтобы затем отобразить их как класс, но не уверен, как сделать это как довольно новый для php.Любая помощь очень ценится.

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...