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

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

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

Рекомндую вместо 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 текущей темы создаем массив

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

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

Комментарии 48 к “[ads_select] – список выбора”

  1. admin:

    такс по поводу действия если вы делаете все сами без шоткодов
    ну короче надо по месту смотреть, не знаю что вы там намудрили
    там надо делать все в несколько этапов

    • Александр:

      Здравствуйте! Сайт Крымская Солянка. sol.crimea.ua Если нужно могу сбросить на почту доступ по ftp. Посмотрите пожалуйста. Я только учусь.

  2. Александр:

    А насчёт шорткодов. Может в будущем я приду к ним, но сейчас мне кашется система шаблонов – лучше. У меня будет 10-15 рубрик, из которых примерно 5-7 со своими шаблонами. Я уже попробовал шаблоны рубрик. Очень удобно.

  3. Юрий здравствуйте. С добавлением поля action разобрался. Нужно было в файле ads_form_class_lib прописать пару строчек кода:
    if($_REQUEST['ads_action']){
    $_REQUEST['post_category'] = array_merge( $_REQUEST['post_category'], array($_REQUEST['ads_action']) );
    }
    Поле начало работать. :)
    По аналогии попробовал добавить поле “Тип объявления”, тоже работает.
    Но вот новый вопрос. Хочу сделать обновление капчи пез перезагрузки страницы, не часто, но всё же иногда это требуется. Не получилось. Не знаю куда <script прописать :( . Тоже самое произошло когда хотел сделать всплывающую подсказку при клике в поле формы (как на емаркет). Не подскажете? Пробовал в heder прописать, в файле form_default_template.php – не работает.

  4. И ещё хотелось бы Каталог сделать без шорткода. Это возможно?

  5. okt:

    У меня, почему-то, объявления имеют по две категории. В чем может быть проблема?

    • okt:

      Да, почему-то, все объявления добавляются в основную категорию

    • admin:

      мне трудно что либо сказать не знаю структуры категорий, что и куда предполагается размещать, а вообще это не проблема если объ. в нескольких категориях

  6. Денис:

    А как мне менять имя “name=ads_action”, например “name=ads_action1″… я использую clone(true), name выходит что повторяется, и записывает в базу последний выбранный элемент.. как тут быть ?

  7. Алексей:

    На сайте http://irent.com.ua/ виджет рубрики красиво отображается, а именно иерархически:
    Куплю/Продам755
    детский мир60
    одежда/обувь108
    бытовая техника51
    телефоны/связь26
    компьютеры/ИТ21
    мебель58
    стройматериалы75
    промтовары46
    красота/здоровье41
    спорт/отдых18
    дом/сад/огород41
    домашние животные48
    музыкальные инструменты1
    предметы роскоши5
    разное/другое132
    посуда/продукты24
    Недвижимость2382
    Транспорт39
    Услуги786
    Работа384
    Обучение/тренинги85
    Разное27

    У меня получилось не очень красиво:
    домашние животные (1)
    красота/здоровье (1)
    Куплю-Продам (2)
    Новости (2)
    Объявления (2)
    пгт.Николаевка (2)
    Продажа (продам) (2)

    Скажите, где поправить?

    • admin:

      ну так я ничего не делал, создал категории – подкатегории, включил вывод с показом кол-ва объявлений
      может с css проблемы у вас – посмотреть можно ваш сайт ?

  8. Logos:

    Можно-ли поменять (где менять?) wp_dropdown_categories() на wp_category_checklist() для [ads_select] ?

1 2

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> [php]…[/php] [html]…[/html] [css]…[/css] [text]…[/text] [code]…[/code]