Публикация в группе: Otshelnik-Fm - мои работы (код, плагины, дополнения, статьи и руководства)

Категории группы: Работаем с Wp-Recall

Привет. Эта заметка для разработчиков дополнений. Последние обновления WP-Recall стряхнуло покрытой пылью плагин (глобально ничего не происходило в нём > 3 лет) и начались глобальные изменения.

Здесь я расскажу как я обновил свои 55 дополнений за месяц в условиях вынужденной необходимости и не сошел с ума. Хотя нет - от выпитого кофе дергается глаз 😖

Хочу озвучить такое наблюдение:

не верьте что ваши дополнения работают - только лишь потому, что по ним никто вам репорт не создал на форуме поддержки!

Я это обнаружил на примере нескольких дополнений. У одного было 80 активных установок и оно распространялось бесплатно. Почему пользователи молчат? ну... Вы в магазине купили хлеб, пришли домой и поздно вечером обнаружили что он заплесневелый. Пойдете вы из-за такой мелочи разбираться? Большинство нет. Просто выбросите хлеб. Возможно к такому продавцу не пойдёте больше.
Так что внимательно перепроверьте свои дополнения - даже если пользователи вам никакого фидбека не давали. Так после каждого обновления реколл делать не нужно - но вот именно из за последних 16.21, 16.22, 16.23 - это сделать стоит. Об этом например мой второй пункт расскажет.

Здесь будет - на что стоит обратить внимание поиском по коду.
Я работаю в нетбинс и там каждый новый доп - отдельный проект. Поэтому я просто запускаю фразу - поиск по проектам и нахожу искомое:

 

Итак - поехали!


1. Апи новых настроек

(3-я версия за всю историю плагина) описано здесь
Тут все просто: вот базовый шаблон:

- с этого шаблона я стартую все настройки.

Потом просто массив полей:

 

- я закидываю вместо того, что указал выше.

Этот шаблон помогает мне стартануть настройки. В нетбинс его можно создать как отдельный сниппет и например через горячие клавиши: rcs + tab - я настроил вставку этого шаблона.

Данный пункт поможет тем, у кого апи настроек не первой версии, а второй. Там просто массивы перекинуть надо на то место, что я выделил скрином выше. С 1-м апи, переход на второе - надо понять структуру полей - но там вроде все просто:

2-й вариант апи настроек - массивы:

- ну ведь просто? Я думаю с 1-го на 2-й вам только "копировать-вставить" надо делать в этот шаблон выше. Такая работа - утомительная - но ничего сложного.


2. Потерянные опции.

Просто убедиться что страница настроек у вас есть - этого оказалось недостаточно. С десятком моих дополнений вышла неприятная особенность: страница настроек есть, пункт настроек тоже присутствует, а вот в нём опции не сохраняются. Причина - это тип поля 'type' => 'custom'
Что в нем не так? Ищите в своем settings.php это: wp_dropdown_pages(
фрагмент кода страницы настроек:

- именно в global[sstc_page] переименуйте в rcl_global_options[sstc_page]
Найдите у себя все использования global[ и переименуйте. Настройки начнут сохраняться.

Я меня именно эта строка в кастомном поле и список страниц и загрузку картинок и своя верстка группы инпутов - я везде столкнулся что global[ переименовать в rcl_global_options[


3. Пропавший фильтр.

Фильтр rcl_custom_field_options не существует (с новым апи и структурой данных оставлять его было нельзя). Поищите по его названию - может где использовали.
Ему на замену пришел rcl_field_options
В прошлом был массив, теперь объект. Распечатывайте и смотрите данные. Просто переименовать фильтр - не выйдет.
Я решал этот вопрос например тут - подглядите


4. Данные уже не те.

Изменился тип хранения аватарки и обложки в мета поле юзера. Ищем rcl_cover и rcl_avatar. Раньше хранился прямой путь до аватарки. Сейчас число - id загруженной авы. Я раньше много допов и виджетов строил на этих данных. Теперь надо проверять через is_numeric() на новые значения
т.к. раньше был прямой путь до авы нужного юзера - я экономил на запросах в БД. Сейчас использовать get_avatar() или напрямую выбирать id из меты пользователя и потом получать путь до картинки - разницы нет.


5. Кнопка съехала.

rcl_get_button( - поищите у себя. Старый вариант 1м аргументом принимал строку. Новый - массив. Но это единственное изменение из ядра реколл, что не ломает ваш доп. Просто стили старых кнопок подцепятся и будет криво. Передавайте в функцию построения кнопки массив.


6. Аплоадер.

По загрузке аватарки и обложки в профиле и группах - если у вас кастомные эти вещи (шаблон ЛК например) - посмотрите. В дополнении Group Theme Replace я использовал старый аплоадер реколл, верней его форк чтоли и ссылался на несуществующие функции. Посмотрите это руководство если с аплоадером у вас также возникли проблемы . ну и подглядеть можно как в ядре загрузка авы происходит. Но это самый редкий случай. Хоть он у меня и отнял прилично времени на переработку.


Это все критичные случаи что я записал в блокнот и все допы по этим пунктам проходил. Прошел 55 дополнений. И это еще не все. Радует что премиум допы (процентов 90% из них) я проверил. И что популярные (с максимальным кол-вом установок) бесплатные допы тоже проверил и пофиксил.

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

Данную запись буду пополнять новыми пунктами по мере сил. Впереди еще большие изменения ядра. Но это вы узнаете из новостей сайта.

3

Автор публикации

не в сети 13 минут

Владимир (Otshelnik-Fm)

3 856
Я завёл себе кота. Время перемен. Скоро
Комментарии: 2126Публикации: 237Регистрация: 27-01-2013Продаж/Покупок: 19985/272