Написание сервисного плагина переназначения подписок плагина Лейка
- 1 год назад
- 0
- +710
- Дедлайн по договоренности
- Избранное
Описание задания
Есть популярный плагин сбора пожертвований \»Лейка\» https://leyka.org
Бывает ситуация, когда в открытую кампанию по сбору средств подписываются регулярные пожертвования, и идут ежемесячные списания. Однако цель сбора достигается, а подписка продолжает пополнять закрытую кампанию.
Штатными средствами можно переназначить отдельную подписку другой активной кампании, близкой по целям сбора. Если подписок много, то это становится неудобным для администрирования, искать инитные платежи подписок и переназначать им другую кампанию.
Фактически нужно дополнение, позволяющее по определенным признакам массово перезаписывать метаполя подписок, чтобы они указывали на другую кампанию.
Техническая информация:
Кампания в Лейке это отдельный тип записи leyka_campaign
Признак закрытой кампании это метаполе is_finished. У закрытой кампании значение «1», у активной кампании или пусто или 0.
В Лейке записываются пожертвования как тип записи leyka_donation
Подписка на постоянные платежи это первое (инитное) пожертвование, имеющее определенные метаполя. Разовые пожертвования или ежемесячные списания по подписке не имеют этих полей или значения полей другие. (см скрин)
У инитного платежа также в таблице wp_posts значение post_parent должно быть 0.
У ежемесячных платежей по подписке post_parent ссылается на инитный (первый платеж) по подписке.
Чтобы сделать список активных подписок кампании, надо найти:
post_type=leyka_donation + post_parent=0
и еще отфильтровать по метаполям:
leyka_payment_type=rebill
_rebilling_is_active=1
leyka_campaign_id такой же как ID искомой кампании.
Получив список активных подписок искомой кампании, надо у всех этих подписок изменить метаполе leyka_campaign_id вписав ID другой выбранной кампании.
Пожелания по интерфейсу:
1. Плагин должен устанавливаться если установлен базовый плагин Лейка https://ru.wordpress.org/plugins/leyka/
2. В админменю пункт переназначения подписок должен располагаться внутри меню Лейки
3. Внешний вид предполагаемой страницы переназначения подписок на скрине. Желательно туда прицепить свой CSS, чтобы немного задизайнить все это (дизайнить не надо, сам стили раскрашу)