@boozzd

Как заставить работать перенос строк в TEXTAREA Wordpress?

Мне нужно добавить свои поля для пользователя. Делаю вот так:
function new_contactmethods( $contactmethods ) 
{
// Добавление нужных полей
$contactmethods['Phone'] = 'Телефон';
$contactmethods['City'] = 'Город';
$contactmethods['Country'] = 'Страна';
$contactmethods['VK'] = 'Страница в ВК';
$contactmethods['site'] = 'Сайт';
$contactmethods['about_me'] = 'О себе';
$contactmethods['coast'] = 'Стоимость';
$contactmethods['condition'] = 'Условия';

$contactmethods['date_edit_profile'] = 'Дата обновления профиля';

return $contactmethods;
}
add_filter('user_contactmethods','new_contactmethods',10,1);

Все замечательно работает(добавление, изменение полей), но текст, который вносится из textarea теряет форматирование. В другом месте была такая же проблема, использовал функцию wpautop($text). Не могу найти где происходит запись данных из этих полей в базу. Спасибо.
  • Вопрос задан
  • 2538 просмотров
Решения вопроса 1
flash_usb
@flash_usb
Разработчик и локализатор WordPress в России
Фильтр user_contactmethods, как следует из названия, предназначен только для способов связи (ссылок на аккаунты в соцсетях и т.д.), но не для текстовых полей.

Выводить произвольные поля в профиле следует с помощью действий show_user_profile (для текущего пользователя) и edit_user_profile (для других), а сохранять значения — с помощью personal_options_update (для текущего) и edit_user_profile_update (для других).

Готовый пример: «Adding Custom Fields to WordPress User Profile».
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mickvav
Programmer, system and network administrator
Чтобы найти место, где данные попадают в базу, можете либо посмотреть куда указывает action у формы и потом идти "вниз" по функциям php, либо отобрать (временно!) у пользователя, под которым wordpress лезет в базу, право на запись, и изучить сообщение об ошибке при сабмите.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы