Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Как программно вывести поле "Файловый загрузчик" в профиле пользователя
4ответ(ов) в теме
lancer
не в сети 4 года
На сайте с 11.07.2020
Участник
Тем 8
Сообщения 15
1
15:50
Версия WP-Recall: 16.24.17

Привет!
Понадобилось выводить в профиле пользователя его поля для редактирования программно. Использую такой код для вывода разных типов полей. Код работает.

$fields = apply_filters( 'rcl_admin_profile_fields', rcl_get_profile_fields( $args ), get_user_by( 'ID', $user_LK ) );
$CF = new Rcl_Custom_Fields();
echo $CF->get_input( $fields[0], $value );

Единственная проблема в том, что при выводе поля "Файловый загрузчик" вылетает ошибка

Call to undefined method Rcl_Custom_Fields::get_type_uploader() in /home/d/datingserv/datingserv.beget.tech/public_html/wp-content/plugins/wp-recall/classes/class-rcl-custom-fields.php:66

Посмотрел код файла. В классе Rcl_Custom_Fields не определен метод для вывода поля "uploader". Как тогда это поле выводится?

Редакции сообщения
15.10.2020 15:52lancerПричина: не указано
0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
2
16:55

у плагина появилось новое АПИ произвольных полей, сообщалось тут

Вы не можете просматривать опубликованные ссылки

Используемый вами класс устарел и не поддерживает появившиеся позже типы полей, поле следует формировать так

echo Rcl_Field::setup( $field )->get_field_html();

0
lancer
не в сети 4 года
На сайте с 11.07.2020
Участник
Тем 8
Сообщения 15
3
19:00

Попробовал. Выводит поле. Но галерея почему-то пустая. В профиле пользователя в админке галерея заполнена.
При добавлении файла и сохранении галерея перезаписывается. При перезагрузке страницы галерея опять пустая. А в админке в профиле пользователя последние сохраненные файлы, старые удалились.

0
lancer
не в сети 4 года
На сайте с 11.07.2020
Участник
Тем 8
Сообщения 15
4
19:20

Так заработало

$field['value'] = get_the_author_meta( $field['slug'], $user_LK );
echo Rcl_Field::setup( $field )->get_field_html();

0
Тема закрыта. Публикация новых сообщений запрещена.