Как выполнить контроль версий продукта для плагинов WordPress

#php #wordpress #design-patterns #wordpress-plugin-creation

Вопрос:

У нас есть отдельное приложение, касающееся

  1. CRM (Управление взаимоотношениями с клиентами)
  2. CFM (Управление денежными потоками)

В нашем автономном приложении у нас есть три модуля ценообразования для продукта, классифицированного по трем типам

  1. Стандарт
  2. Продвижение
  3. Предприятие

Каждый из них имеет разные цены, функциональные ограничения и опции

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

Проблема, с которой мы сталкиваемся, заключается в том, как мы можем управлять версией WordPress, управляя ею

есть два способа сделать это (о которых я думаю).

  1. разработайте стандартный плагин со всеми функциями в нем и включите функции на основе пользовательского пакета, например(если наш пользователь подписался на ПРЕДВАРИТЕЛЬНУЮ версию нашего приложения, мы включим все функции, связанные с ним, и отключим все другие функции, связанные с корпоративной версией)
  2. второй способ-загрузить три версии нашего плагина на рынок WordPress,каждая из которых имеет функциональные возможности,связанные с их версией (Стандартная, расширенная, Корпоративная)

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

С другой стороны, если мы воспользуемся другим методом, который заключается в создании трех версий плагинов, будет сложно управлять кодом плагинов, так как любые изменения в будущем приведут к выполнению одной и той же работы три раза

как мы можем преодолеть эту проблему? каков идеальный способ управления такого рода ситуациями