Как cделать выпадающий список категорий в форме ввода

1) Все рубрики объявлений необходимо сгруприовать. Для этого помещаем их в служебную рубрику контейнер назовем ее например Объекты. Запоминаем id контейнера, далее в процессе работы нам будет очень удобно получать весь список рубрик с помощью стандартных WordPress функции wp_list_categories, wp_dropdown_categories используя в качестве аргумент параметр ‘child_of’.
Теперь добавляем в контейнер произвольные категории, подкатегории, под-подкатегории сколько угодно уровней и количество.

2) Теперь нам надо отменить стандартный выбор категорий в самом плагине – открываем файл ads_config.php (он должен быть непосредственно в папке плагина в корне) если его нет, то надо его создать.
Далее прописываем туда такой код:

form_default_template.php – это наш шаблон формы, находится он в директории /templates
Можете создать свою форму и положить ее в /templates . Теперь кликнув по ссылке “добавить объявление” вы должны сразу попасть на эту форму миную этап выбора категорий.

3) Открываем шаблон формы ввода form_default_template.php разметка здесь задается здесь с помощью таблицы – ничего сложного. Нам надо добавить новый управляющий элемент, в удобном месте добавляем новую строку tr

Поясняю : сам список добавляется функцией ads_category_select(3,’ads_basecat’) где 3 это id той самой рубрики контейнера Объекты вам надо поменять на свой 🙂 ads_basecat – имя списка select name=’ads_basecat’. Сохраняем перезагружаем все теперь вы должны увидеть выпадающий список жаждущий вашего выбора.

4) Но это еще не все! Нам надо добавить проверку этого поля, поэтому раскоментируем пользовательский фильтр в самом верху шаблона, если кто не знает надо раскоментировать строчки.
и в этот фильтр добавить проверку

Проверяем – оставим список без выбора и нажимаем кнопку отправить должно выскочить сообщение ‘Выберите объект!’.

P.S.
Вместо моей функции ads_category_select можно использовать wp_dropdown_categories там можно задать много больше настроек и тогда необязательно будет группировать объявления в контейнер, но это уже самостоятельно.

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

Ваш 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