[ads_select] – список выбора

Специальные атрибуты:

  1. selected – выбор по умолчанию порядковый номер или id категории
  2. array – задает источник данных внешний массив
  3. taxonomy – задает источник данных одну из таксономий категорию или метки
    1. not_selected – off запрещает добавлять пустой пункт в список
    2. child_of – родительская категория-контейнер откуда взять список категорий
    3. include – включить категории, только указанные категории
    4. exclude – список категорий которые надо исключить
    5. дополнительные атрибуты добавляет функция – wp_dropdown_categories()
  4. terms – задает условие
  5. emsg – текст ошибки

Источник данных – внутреннее содержание:

[ads_select name=ads_age selected=4 terms=$ emsg=»Укажите свой возраст!» ] =>не выбрано! 10=>до 10 20=>от 10 до 20 30=>от 20 до 30 40=>от 30 до 40 50=>от 40 до 50 60=>старше 50 [/ads_select]

12345678910 [ads_select name=ads_age selected=4terms=$ emsg=«Укажите свой возраст!» ]    =>не выбрано!    10=>до 10    20=>от 10 до 20    30=>от 20 до 30    40=>от 30 до 40    50=>от 40 до 50    60=>старше 50[/ads_select]

Каждый новый пункт начинаем с новой строки. Далее пишем по парам значение=>описание через =>, значение – это то, что в конечном итоге будет сохранено в метаполе ads_age. Обращаю внимание первый элемент имеет пустое значение!
selected=4 означает что начальный выбор (по умолчанию) установлен на 4 элемент.
terms=$ проверить, что что-то выбрано, если ничего не выбрано, то есть в данном случае это пункт 1 вывести сообщение emsg=”Укажите свой возраст!”
Ну вообще при таком раскладе selected=4 лучше не указывать, тогда по умолчанию выбран будет первый пункт – пустой
и если пользователь забудет сделать выбор terms=$ сгенерирует ошибку и все таки заставит пользователя обратить внимание на элемент. Такая вот политика :)(

Источник данных – таксономии : категории, метки.

Допустим мы себе придумали категорию-контейнер Action (id:24; ярлык:action) в ней сложены под категории: купить, продать, обменять, сдать в аренду, снять в аренду и тд, Теперь для каждого объявления организуем выбор действия:

… [ads_select name=ads_action taxonomy=category child_of=24 terms=$ emsg=»Выберите действие!» /] …

123456789 ...[ads_select    name=ads_action    taxonomy=category    child_of=24    terms=$    emsg=«Выберите действие!»/]...

Рекомндую вместо id указывать ярлык категории child_of=24 child_of=action, при переносе БД с хостинга на хостинг ярлыки категорий сохраняются в отличи от id.
taxonomy=category или post_tag – указывать обязательно!
Конечный html код мы получаем через стандартную WordPress функцию wp_dropdown_categories(), и все атрибуты заданные в шорткоде передаются в эту функцию. Она сама отберет, что для нее, а что нет.
Преобразование ярлыков в id выполняется в плагине. Преобразование работает только для прарметров:
child_of – родительская категория контейнер
include – включить категории по списку например kyply,prodam,obmen …, кстати почему-то в оф документации он отсутствует.
exclude – исключить категории
selected – id выбранной категории
Дополнительно плагин добавляет всегда добавляет пустой пункт первым номером, если хотите отключить это добавляем в шорткод атрибут not_selected=off.
! Атрибут selected здесь указываем не номер пункта по счету, а id или ярлык категории которую установить активной по умолчанию.

Источник данных – внешний массив

Этот вариант уже для профессионалов – кто знает, что такое массив, где и как его создать, поэтому объясняю коротко:
в functions.php текущей темы создаем массив

$php_var_name[] = ‘пустой’; $php_var_name[2] = ‘два зайца’; $php_var_name[3] = ‘три зайца’; $php_var_name[‘mnogo’] = ‘много зайцев’;

1234 $php_var_name[] = ‘пустой’;$php_var_name[2] = ‘два зайца’;$php_var_name[3] = ‘три зайца’;$php_var_name[‘mnogo’] = ‘много зайцев’;

и на странице с формой вставляем код:

…. [ads_select name = ads_varname array = php_var_name /] ….

123 ....[ads_select name = ads_varname array = php_var_name /]....

атрибут array тут указываем имя массива
selected – выбранный по умолчанию пункт указываем порядковый номер
Считаем зайцев.