Добрый день, возникла необходимость организовать вывод нескольких 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.