Создал произвольное поле с meta-key - user_registered.
Тип поля - Текстовое поле
Отображать для других пользователей - Да
Редактируется только администрацией сайта - Нет (обязательно, иначе будет совсем не ожидаемое поведение)
В итоге у пользователя поле выводится правильно (из таблицы wp_users), но при попытке редактирования создается ненужная запись в таблице wp_usermeta с новым значением, хотя в лк продолжает отображать правильное значение.
melet сказал(а)
В итоге у пользователя поле выводится правильно (из таблицы wp_users)
- это не запланированное поведение и так быть не должно. Поэтому как в итоге получается у вас - все верно. Все метополя юзера создаются в таблице wp_usermeta. И это верно.
Вы просто не баг а фичу нашли. Это незапланированное поведение
Хорошо, давайте назовем его "не предопределенное поле" (в том смысле, что его нет в колонке заранее предлагаемых полей), но это стандартное поле профиля wp.
Вы просто не баг а фичу нашли. Это незапланированное поведение
В принципе, мне такое поведение и нужно, чтобы пользователь не мог редактировать поля, которые я запрещаю к редактирования.
Нюанс в том, что если указать
Редактируется только администрацией сайта - Да
то поведение будет следующим:
- обычный пользователь может редактировать это поле, после редактирования значение поля в закладке Профиль подтягивается уже из таблицы wp_usermeta, т.е. неправильное
- у админа при попытке редактирования введенное значение хоть и сохраняется в wp_usermeta, но отображается старое правильное значение из wp_users
- в информации о профиле у всех отображается правильное значение из wp_user
- админ через wp-admin не может отредактировать это поле ни при каких настройках, хотя поле вроде как предполагает
Я согласен и на описанное в первом сообщении поведение, главное, чтобы оно не изменилось в будущем))
melet сказал(а)
А я как раз и хочу вывести дату регистрации пользователя.
выводите вордпресс функцией.
Настройка Редактируется только администрацией сайта - Нет в данном случае позволяет достичь желаемого
- конечно ваше дело. Я правда не понимаю зачем это вам нужно (хотя если раз в год - и в бд исправить можно) - но ответ был - что это невозможно с другими таблицами отличными от wp_usermeta
выводите вордпресс функцией.
Меня устраивает функционал полей recall и как они выводятся. Можно подружить поле и результат функции?
конечно ваше дело. Я правда не понимаю зачем это вам нужно (хотя если раз в год - и в бд исправить можно) - но ответ был - что это невозможно с другими таблицами отличными от wp_usermeta
Простите, не совсем понял, о чем Вы говорите.. Мне как раз и не нужно совсем, что это поле правилось.
Если не надо чтобы оно правилось - зачем тогда вы его создаете? Я подумал что вам его вдруг править надо...
Просто ВП функцией выведите его стандартное поле времени регистрации из wp_users и проблем нету
То что вы придумали нестандартное поведение - никто его вам не будет поддерживать.
Вы напишите где хотите вывести - есть хуки,фильтры, есть функционал шаблонов в реколл - вывести всегда можно в 99%.
Еще только разбираюсь с wp-recall, до более глубоких познаний пока не дошел. Сейчас тратить время на изучение, кодинг/правки нет возможности, хотел обойтись имеющимися возможностями.
Вы напишите где хотите вывести - есть хуки,фильтры, есть функционал шаблонов в реколл - вывести всегда можно в 99%.
Хотелось бы вывести эту инфу в личном кабинете ниже имени и надписи в сети/не в сети.
Сниппет на это:
function otfm_user_register_date(){ global $user_LK; // содержит id кабинета - он равен идентификатору юзера - автора кабинета $user_info = get_userdata($user_LK); $date = $user_info->user_registered; echo '<div style="display: block;">Зарегистрирован: '.$date.'</div>'; } add_action('rcl_area_actions','otfm_user_register_date', 5);
результат
Всё остальное делайте через css