[ads_checkbox_area] – область независимых переключателей (галочки)

[ads_checkbox_area] – независимые флажки – это значит можно выбрать более одного варианта из предложенных.
Специальные атрибуты:

  1. checked – выбор по умолчанию порядковый номер, в случае если источник данных taxonomy то id таксономии или ярлык
  2. array – задает источник данных внешний массив
  3. taxonomy – задает источник данных одну из таксономий категорию или метки (category или post_tag), в этом варианте доступны дополнительные атрибуты:
    1. child_of – родительская категория-контейнер откуда взять список категорий
    2. include – включить категории, только указанные категории
    3. exclude – список категорий которые надо исключить
    4. дополнительные атрибуты добавляет функция – get_terms()
  4. terms – задает условие
  5. emsg – текст ошибки
  6. legend – текст легенды см. рисунок html элемент legend

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

Ту все по аналогии [ads_select] и [ads_radio_area]. Каждый новый пункт с новой строки пишем по парам значение=>описание через =>, значение – это то, что в конечном итоге будет сохранено в метаполе ads_drink.
checked=2 – означает что начальный выбор (по умолчанию) установлен на 3 элемент (пиво). В массивах первым по порядку идет нулевой элемент чай – будет нулевым, кофе – первым, пиво – вторым – такая вот извращенная логика у программистов 🙂

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

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

child_of=24 правильно но лучше ярлык: child_of=action.
taxonomy=category или post_tag – указывать обязательно!
В отличии от [ads_select], здесь мы получаем данные с помощью WordPress функции get_terms( $taxonomies, $args ). Многие параметры в документации отсутствуют – так например нету include и exclude, но теме не менее они работают.
Преобразование ярлыков в id выполняется в плагине, работате только для атрибутов:
child_of – родительская категория контейнер
include – включить категории по списку например kyply,prodam,obmen …
exclude – исключить категории
checked – ярлык выбранной категории
! Атрибут checked здесь указываем не номер пункта по счету, а id или ярлык категории которую установить активной по умолчанию.

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

Возьмем опять массив с зайцами – принцип тот же, что и для ads_select:
в functions.php текущей темы или например ads_config.php создаем массив:

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

array – тут указываем имя массива (php переменная)
checked – выбранный по умолчанию пункт, в этом случае опять указываем порядковый номер элемента.
Считаем зайцев.

Вывод данных

Поскольку область чекбоксов предоставляет возможность множественного выбора в результате мы всегда получим массив данных даже если пользователь выбрал один элемент,
поэтому обычный вывод типа echo $ads_varname; тут не пройдет в данном случае мы увидим просто надпись Array.
Нужно предварительно подготовить вывод массива. Для первого примера с напитками можно использовать функцию implode, чтобы склеить все элементы массива в одну строку используя разделитель запятую с пробелом:

Тоже самое можно использовать для зайцев:

В случае когда источником данных выбраны категории – вывод можно оформить с помощью WordPress функции wp_list_categories() (пример для Action):

Как видно из примера мы передаем в функцию наш массив действий $ads_action в параметре include – что означает выбрать только заданные категории.
‘title_li’=>” – а это мы отключаем вывод родительского контейнера ul с заголовком.
Можно копнуть еще ниже и использовать http://codex.wordpress.org/Function_Reference/get_categories

Это все примеры для шаблона вывода типа post_default_template.php

Особенности проверки условия

Особенности проверки связаны все с тем же массивом данных в конечном результате у вас может возникнуть необходимость проверить количество выбранных элементов
для этого можно использовать функцию count($)
пример для напитков – потребуем пользователя выбрать от 2 до 3 вариантов:

Выравнивание чекбоксов в области

И на закуску делаем с помощью CSS красивое выравнивание флажочков width: 25%; – по 4 штук, проценты надо будет подобрать чтобы влазило самое длинное.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> [php]…[/php] [html]…[/html] [css]…[/css] [text]…[/text] [code]…[/code]

  • sdfsdfsdf
  • sdfsdfsdfsdf
  • sdfsdfsdfs
  • sdfsdfsdf
  • sdfsdfsdfsdfs
  • sdfsdfsdfs
  • sdfsdfsdf
  • sdfsdfsdfsdfs