Добрый день, возникла необходимость организовать вывод нескольких input полей типа text, select в одной ячейке (на подобии вывода чекбоксов, который реализован в данный момент в форме публикации). Хотелось бы услышать совет, в какую сторону копать - регистрация нового типа поля, редактирование само вывода произвольных полей или можно это реализовать как-то по-другому? Для вывода произвольных полей используется Fields For Terms.
принцип формирования массива с данными полей и их вывод в кастомной верстке:
//массив с данными полей $fields = array( array( 'slug' => 'field-1', 'type' => 'select', 'values' => array( 'value 1', 'value 2', 'value 3' ) ), array( 'slug' => 'field-2', 'type' => 'checkbox', 'values' => array( 'value 1', 'value 2', 'value 3' ) ) array( 'slug' => 'field-3', 'type' => 'dynamic' ) ); $CF = new Rcl_Custom_Fields(); //тут контент просто оберните в свою верстку $content = '<div>'; foreach($fields as $field){ $content .= $CF->get_input($field); } $content = '</div>'; echo $content;
по стандарту в массиве данных произвольного поля для указания наименования поля следует использовать ключ title:
'title' => __('Наименование')
а затем при переборе полей выводим заголовок поля там где нам требуется:
foreach($fields as $field){ $content .= $CF->get_title($field); $content .= $CF->get_input($field); }
Вариант вывода селектов, чекбоксов и др полей с множественными значениями не работает
array( 'slug' => 'field-1', 'type' => 'select', 'values' => array( 'value 1', 'value 2', 'value 3' ) ),
на примере селекта, выводит без option:
Может есть возможность где-нибудь посмотреть полное описание вывода полей со всеми опциями, ключами и т.д.?
Rcl_Custom_Fields в коде плагина смотрел, но решения так и не нашёл. А если в форму публикации интегрировать input-поле напрямую, то есть сразу добавить:
<span class="rcl-field-input type-select-input"><select name="field-1" id="field-1"> <option selected="selected" value="1">test1</option> <option value="2">test2</option> <option value="3">test3</option> </select></span>
, без добавления его через массив как описано выше в теме.
Поле, добавленное таким образом конфликтовать с плагином не будет? Не в курсе?
Dmitryi сказал(а)
Вариант вывода селектов, чекбоксов и др полей с множественными значениями не работает
Неправда, вывел такой код в шапке сайта:
add_action('wp_head','sdsdsdsdsd'); function sdsdsdsdsd(){ $fields = array( array( 'slug' => 'field-1', 'type' => 'select', 'values' => array( 'value 1', 'value 2', 'value 3' ) ), array( 'slug' => 'field-2', 'type' => 'checkbox', 'values' => array( 'value 1', 'value 2', 'value 3' ) ), array( 'slug' => 'field-3', 'type' => 'dynamic' ) ); $CF = new Rcl_Custom_Fields(); $content = '<div>'; foreach($fields as $field){ $content .= $CF->get_input($field); } $content .= '</div>'; echo $content; }
в результате получил вполне себе правильную верстку всех элементов
Dmitryi сказал(а)
без добавления его через массив как описано выше в теме
Вам дали вариант согласно текущего стандарта, который будет гибко реагировать на любые изменения в классе вывода произвольных полей плагина. Вы же вольны реализовывать свою задачу как угодно, ваш вариант должен работать, спрашивать ни к чему, пробуйте сами.
Оффтоп - Андрей - снова мы с тобой проглядели что версию указали не актуальную. Причем это уже второй случай, и так недолго от первого прошло времени. Думаю что все же надо внедрять плашку:
После создания темы топикстартером и указания версии реколл - проверять какая актуальная версия плагина и если тема допа - то и допа. И пока никто не ответил топикстартеру - под его первым сообщением ему показывать что мол "обновись - проблемы как снежный ком пойдут, да и поддержка оказывается только по актуальным версиям. Ведь повторно их решать ниодин программист не будет". Ну и эта плашка чтоб была видна автору топика, и админам форума.
Otshelnik-Fm сказал(а)
Оффтоп - Андрей - снова мы с тобой проглядели что версию указали не актуальную. Причем это уже второй случай, и так недолго от первого прошло времени...
Нет, первый раз версия была указана последняя (16.1.5), потом, когда до меня дошло, что версия другая - я просто отредактировал тему. Лучше выводить шильдик, в случае, если тема отредактирована и изменено значение версии wp-recall.