Андрей Plechev сказал(а)
при обновлении на 10 версию с более ранней существует проблема с сохранением данных произвольных полей профиля и формы публикации. Для решения данной проблемы, необходимо обновление производить через админку сайта, с предварительной деактивацией плагина перед обновлением.
с деактивацией без удаления плагина?
Если изначально обновили неправильно, то проблема через админку может быть решена только полным удалением созданных полей и созданием новых.
Либо, если хотим сохранить старые настройки, лезем в БД, находим в таблице wp_options строку со значением option_name custom_profile_field в которой храняться данные произвольных полей профиля и если видим что то подобное s:986:a:6:{i:0;a:8:{s:4:"slug";s:9:"svoj_sajt";s:5:"title";s:17:"Свой сайт";s:4:...... то удаляем все символы, что стоят перед символом a, т.е. в данном случае надо удалить s:986: после этого сохраняем изменения и данные полей профиля будут работать и сохраняться.
Кстати, данные основных настроек плагина храняться в той же таблице в строке с именем опции primary-rcl-options, а данные произвольных полей формы публикации - custom_public_fields_1 Поступаем с ними аналогичным образом.
Андрей Plechev сказал(а)
Либо, если хотим сохранить старые настройки, лезем в БД, находим в таблице wp_options строку со значением option_name custom_profile_field в которой храняться данные произвольных полей профиля и если видим что то подобное s:986:a:6:{i:0;a:8:{s:4:"slug";s:9:"svoj_sajt";s:5:"title";s:17:"Свой сайт";s:4:...... то удаляем все символы, что стоят перед символом a, т.е. в данном случае надо удалить s:986: после этого сохраняем изменения и данные полей профиля будут работать и сохраняться.
Кстати, данные основных настроек плагина храняться в той же таблице в строке с именем опции primary-rcl-options, а данные произвольных полей формы публикации - custom_public_fields_1 Поступаем с ними аналогичным образом.
С этим у меня вообще какая-то фигня вышла.
Если я удалю через админку произвольные поля и создам те же самые, данные сохранятся?
Расскажу суть, у меня много пользователей, которые заполнили дополнительные поля, я не хочу заставлять их делать это заново.
суть я понял. Если удалить все произвольные поля через админку, то они будут удалены и из профиля пользователей, потом их восстановить не получиться.
А что не получается с описанным мной способом решения проблемы? Опцию custom_profile_field нашли в БД? Что находится в value этой опции?
Андрей Plechev сказал(а)
суть я понял. Если удалить все произвольные поля через админку, то они будут удалены и из профиля пользователей, потом их восстановить не получиться.
А что не получается с описанным мной способом решения проблемы? Опцию custom_profile_field нашли в БД? Что находится в value этой опции?
Да, опцию я нашел и удалил первые символы перед символом а, но дальше я не разобрался в этой каше.
value:
s:1540:"a:9:{i:0;a:6:{s:4:"slug";s:10:"vozrast-63";s:4:"type";s:4:"text";s:5:"title";s:14:"Возраст";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:1;a:7:{s:4:"slug";s:7:"pol-100";s:4:"type";s:5:"radio";s:5:"title";s:6:"Пол";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;s:12:"field_select";s:32:"#Мужской
#Женский";}i:2;a:6:{s:4:"slug";s:8:"gorod-98";s:4:"type";s:4:"text";s:5:"title";s:10:"Город";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:3;a:6:{s:4:"slug";s:14:"uvlecheniya-38";s:4:"type";s:4:"text";s:5:"title";s:18:"Увлечения";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:4;a:6:{s:4:"slug";s:16:"login-v-steam-86";s:4:"type";s:4:"text";s:5:"title";s:19:"Логин";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:5;a:6:{s:4:"slug";s:8:"skajp-66";s:4:"type";s:4:"text";s:5:"title";s:10:"Скайп";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:6;a:6:{s:4:"slug";s:19:"lyubimoe-oruzhie-69";s:4:"type";s:4:"text";s:5:"title";s:35:"Любимое оружие";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:7;a:6:{s:4:"slug";s:7:"klan-70";s:4:"type";s:4:"text";s:5:"title";s:8:"Клан";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:8;a:7:{s:4:"slug";s:22:"trebuetsya-naparnik-26";s:4:"type";s:8:"checkbox";s:5:"title";s:29:"Поиск напарника";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;s:12:"field_select";s:44:"Требуется напарник";}}";
Андрей Plechev сказал(а)
а дальше не надо разбираться, вам надо только удалить s:1540:" и сохранить изменения.
Итак, я удаляю это значение, сохраняю. Затем деактивирую плагин через админку, удаляю его там же через админку со всеми файлами и данными. А затем через админку загружаю новую версию плагина и активирую. Так?
Андрей Plechev сказал(а)
Какое "то же"? то что до редактирования или после редактирования?
Если "после" то поля должны выводится. Если конечно отредактировали так как надо.
после установки новой версии плагина значение value в поле custom_profile_field такое же, как и после редактирования этого значения до установки плагина.
Андрей Plechev сказал(а)
ок, какое именно?
a:9:{i:0;a:6:{s:4:"slug";s:10:"vozrast-63";s:4:"type";s:4:"text";s:5:"title";s:14:"Возраст";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:1;a:7:{s:4:"slug";s:7:"pol-100";s:4:"type";s:5:"radio";s:5:"title";s:6:"Пол";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;s:12:"field_select";s:32:"#Мужской
#Женский";}i:2;a:6:{s:4:"slug";s:8:"gorod-98";s:4:"type";s:4:"text";s:5:"title";s:10:"Город";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:3;a:6:{s:4:"slug";s:14:"uvlecheniya-38";s:4:"type";s:4:"text";s:5:"title";s:18:"Увлечения";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:4;a:6:{s:4:"slug";s:16:"login-v-steam-86";s:4:"type";s:4:"text";s:5:"title";s:19:"Логин";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:5;a:6:{s:4:"slug";s:8:"skajp-66";s:4:"type";s:4:"text";s:5:"title";s:10:"Скайп";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:6;a:6:{s:4:"slug";s:19:"lyubimoe-oruzhie-69";s:4:"type";s:4:"text";s:5:"title";s:35:"Любимое оружие";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:7;a:6:{s:4:"slug";s:7:"klan-70";s:4:"type";s:4:"text";s:5:"title";s:8:"Клан";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;}i:8;a:7:{s:4:"slug";s:22:"trebuetsya-naparnik-26";s:4:"type";s:8:"checkbox";s:5:"title";s:29:"Поиск напарника";s:8:"requared";i:0;s:3:"req";s:1:"1";s:8:"register";i:0;s:12:"field_select";s:44:"Требуется напарник";}}";
я нажимаю редактирование своего профиля, поля то есть, но данные там не сохранились, которые были заполнены в старой версии плагина.
по моему, где то есть ошибка и массив данных теперь не формируется из этой опции, я сформировал новые данные со старыми значениями полей, это основа, потом можете отредактировать под себя
a:9:{i:0;a:8:{s:4:"slug";s:10:"vozrast-63";s:5:"title";s:14:"возраст";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:1;a:9:{s:4:"slug";s:7:"pol-100";s:5:"title";s:6:"пол";s:12:"field_select";s:30:"#Мужской#Женский";s:4:"type";s:5:"radio";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:2;a:8:{s:4:"slug";s:8:"gorod-98";s:5:"title";s:10:"город";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:3;a:8:{s:4:"slug";s:14:"uvlecheniya-38";s:5:"title";s:18:"увлечения";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:4;a:8:{s:4:"slug";s:16:"login-v-steam-86";s:5:"title";s:10:"логин";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:5;a:8:{s:4:"slug";s:8:"skajp-66";s:5:"title";s:10:"скайп";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:6;a:8:{s:4:"slug";s:19:"lyubimoe-oruzhie-69";s:5:"title";s:27:"любимое оружие";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:7;a:8:{s:4:"slug";s:7:"klan-70";s:5:"title";s:8:"клан";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:8;a:9:{s:4:"slug";s:22:"trebuetsya-naparnik-26";s:5:"title";s:29:"поиск напарника";s:12:"field_select";s:35:"Требуется напарник";s:4:"type";s:8:"checkbox";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}}
совсем забыл, значения ярлыков у произвольных полей должны быть без знаков тире, их надо заменить на знак нижнего подчеркивания.
Думаю, сейчас все должно быть нормально:
a:9:{i:0;a:8:{s:4:"slug";s:10:"vozrast_63";s:5:"title";s:14:"возраст";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:1;a:9:{s:4:"slug";s:7:"pol_100";s:5:"title";s:6:"пол";s:12:"field_select";s:30:"#Мужской#Женский";s:4:"type";s:5:"radio";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:2;a:8:{s:4:"slug";s:8:"gorod_98";s:5:"title";s:10:"город";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:3;a:8:{s:4:"slug";s:14:"uvlecheniya_38";s:5:"title";s:18:"увлечения";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:4;a:8:{s:4:"slug";s:16:"login_v_steam_86";s:5:"title";s:10:"логин";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:5;a:8:{s:4:"slug";s:8:"skajp_66";s:5:"title";s:10:"скайп";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:6;a:8:{s:4:"slug";s:19:"lyubimoe_oruzhie_69";s:5:"title";s:27:"любимое оружие";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:7;a:8:{s:4:"slug";s:7:"klan_70";s:5:"title";s:8:"клан";s:4:"type";s:4:"text";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}i:8;a:9:{s:4:"slug";s:22:"trebuetsya_naparnik_26";s:5:"title";s:29:"поиск напарника";s:12:"field_select";s:35:"Требуется напарник";s:4:"type";s:8:"checkbox";s:8:"requared";s:1:"0";s:8:"register";s:1:"0";s:5:"order";s:1:"0";s:3:"req";s:1:"0";s:5:"admin";s:1:"0";}}
вроде как все должно было сработать, но очевидно, что на расстоянии труднее вопросы решать.
Как стандартное решение проблемы могу предложить перейти назад на раннюю версию и произвести обновление так, как я описал ранее, тогда при активации новой версии плагина все данные должны автоматически привестись к нужному виду, что собственно и происходило у других пользователей.
Андрей Plechev сказал(а)
вроде как все должно было сработать, но очевидно, что на расстоянии труднее вопросы решать.
Как стандартное решение проблемы могу предложить перейти назад на раннюю версию и произвести обновление так, как я описал ранее, тогда при активации новой версии плагина все данные должны автоматически привестись к нужному виду, что собственно и происходило у других пользователей.
На какую версию перейти? Сейчас я откатился на 9.7.0, где все данные сохранены и которая у меня исправно работала.
Андрей Plechev сказал(а)
Проверьте работу произвольных полей профиля на этой версии и если все работает нормально, то деактивируйте плагин, заливайте новую версию и активируйте плагин заново.
Так эта версия у меня и стояла в тот раз, когда я решил перейти на последнюю. Я так и делал, прежде чем создать эту тему. Попробую ещё раз. Я так уже делал несколько раз: удалял 9.7.0, ставил последнюю, потом снова откатывался.