Conditii personalizate de regula WooCommerce pentru dezvoltatori

Dacă sunteți un dezvoltator WooCommerce extinderea unui plugin promoțional pentru a sprijini logica de afaceri specifice clientului, condițiile de regulă personalizate sunt de obicei în cazul în care trăiește complexitatea. Condițiile standard de regulă care nava cu cele mai BOGO și plugin-uri discount se ocupă de modelele comune . . Total coș minim, produs specific SKU, roluri client, intervale de date . Dar acestea se încadrează în mod constant scurt de logica condiționată de care lucrează un client real. Un dezvoltator construind o regulă care aplică o reducere numai atunci când istoria comenzii clientului arată un anumit produs a fost achiziționat, sau numai în timpul unei zone de transport maritim specifice, sau numai atunci când nivelul clientului se potrivește cu o taxonomie personalizată atinge limitele motoarelor standard rapid.

✓ GT BOGO Engine PRO include o garanție de 30 de zile pentru banii înapoi.

Acest post este pentru dezvoltatorii WooCommerce și conduceri tehnice care au nevoie pentru a extinde logica de regulă promoțională dincolo de ceea ce plugin-urile stoc oferă. Vom merge prin modul în care condițiile de regulă personalizate sunt de obicei implementate în arhitecturile promoționale moderne WooCommerce, în cazul în care deciziile arhitecturale contează pentru întreținere, și ce schimbări atunci când plugin-ul promoțional de bază expune o suprafață de extensie curată pentru logica condiție personalizată, mai degrabă decât necesită furculițe sau workaround-uri hacky.

De ce condiţiile de reglementare personalizate sunt importante din punct de vedere arhitectural

Problema structurală cu motoare de regulă rigide este că munca reală a clientului depășește în mod constant condițiile navelor cu motor cu. Un client en-gros B2B vrea reduceri doar pentru clienții cu acorduri active en-gros stocate în meta utilizator personalizat. Un magazin bazat pe abonament vrea logica de reducere diferită pentru clienții cu abonamente active față de clienții fără. Un vânzător de piață vrea logica discount care respectă minimele specifice vânzătorului și pragurile de nivel. Condițiile standard "total coș minim" și "produse specifice" nu sunt suficiente pentru că logica de afaceri este cu adevărat mai complexă decât cele primitive pot exprima.

Cercetarile McKinsey privind stabilirea preturilor si promotiilor arata in mod constant ca retailerii subestimeaza valoarea analizelor promotionale coordonate. Aceeasi subestimare afecteaza modul in care dezvoltatorii WooCommerce abordeaza regula extensibilitatii

Datele abandonului coșului din Baymard Institute, bazate pe 50 de studii separate de abandon al coșului, pun media globală la 70,22%. Condițiile de reglementare personalizate contează pentru abandonul coșului, deoarece condițiile greșite pot produce coșuri abandonate în cazul în care clientul a așteptat o reducere care nu se aplică. Un client B2B care aștepta discount en-gros, dar nu a primit-o deoarece motorul de regulă nu a verificat acordul lor en-gros abandonează coșul. Un abonat care a așteptat afacere numai-abonați, dar nu a văzut-o pentru că motorul regulii nu a înțeles abonamentul de stat abandonează. Logica condiție afectează rezultatele reale de conversie.

Cum arată modern WooCommerce custom Rule Arhitectures

Modelul arhitectural care scale pentru conditiile de regula personalizata este o suprafata de extensie curata in care dezvoltatorii pot inregistra conditiile personalizate prin cârlige documentate, mai degraba decat plugin-ul de patching maimuta sau mentinerea furcilor. Conditia personalizata se inregistreaza de obicei ca fiind o callable care primeste contextul cosului si contextul clientilor si returneaza un boolean care indica daca ar trebui sa se aplice regula. plugin-ul invoca conditiile inregistrate in timpul calculului cosului, evalueaza rezultatele booleane si aplica logica regulii in consecinta.

Modelul de extensie bazat pe cârlig produce trei beneficii arhitecturale. În primul rând, logica stării personalizate a dezvoltatorului trăiește în cod specific clientului, mai degrabă decât în furci plugin, ceea ce înseamnă actualizări plugin nu rupe personalizări client. În al doilea rând, logica condiției personalizate este testabilă în izolare, deoarece este o funcție pură peste coș și context client . . În al treilea rând, condițiile personalizate devin reutilizabile în portofoliul de client dezvoltator, deoarece aceeași condiție logică care funcționează pentru verificarea clientului A en-gros poate fi adaptată pentru verificarea abonamentului Client B cu modificare minimă.

Arhitectura alternativa de patching-maimuță plugin interne sau menținerea furci . produce trei probleme arhitecturale. În primul rând, actualizările plugin-ului rupe de lucru client, deoarece patch-urile presupun structuri interne plugin pe care plugin-ul din amonte poate modifica fără preaviz. În al doilea rând, logica personalizată nu este testabilă în izolare, deoarece necesită contextul complet plugin pentru a executa. În al treilea rând, logica personalizată nu este fosilă în rândul clienților, deoarece este sudat la internele unei versiuni specifice plugin.

Ce oferă GT BOGO Engine pentru condițiile de reglementare personalizate

GT BOGO Engine este primul sistem de automatizare de tip buy X Get Y din lume, construit special pentru WooCommerce. Platforma include 48 de superputeri care operează automat în WooCommerce, plus 200 de pachete de campanie pre-construite în 19 industrii, plus o suprafaţă de extensie curată pentru condiţiile de reglementare personalizate prin cârlige şi filtre documentate. Dezvoltatorii pot extinde motorul de regulă fără a forja plugin-ul sau internele de patching maimuţă. Pentru utilizarea axată pe dezvoltator în mod specific, patru capacităţi contează pentru realitatea operaţională a construcţiei logicii regulii personalizate pe platformă.

În primul rând, motorul regulii expune înregistrarea stării prin intermediul cârligelor standard de filtrare WordPress. Dezvoltatorii înregistrează callables personalizate condiție care primesc contextul coș și contextul clientului ca parametri și returnează un boolean. Platforma invocă condiții înregistrate în timpul calculului coșului și evaluează rezultatele boolean pentru a determina dacă se aplică fiecare regulă. Extensia pe bază de cârlig înseamnă condiții personalizate trăiesc în cod specific clientului și supraviețui actualizări plugin-ului cu ușurință.

În al doilea rând, stratul de inteligență al clientului expune starea clientului ca fiind un API structurat pe care condițiile personalizate îl pot interoga. Customer LTV nivel, segmente de client, starea aniversară, starea zilei de naștere, statutul de abonament și istoricul achiziției sunt toate accesibile prin metode documentate, mai degrabă decât necesită întrebări personalizate împotriva bazei de date WooCommerce. API structurat înseamnă că logica stării personalizate poate influența inteligența clienților platformei fără a re-implementa munca de segmentare. Pentru mai mult pe stratul de inteligență a clienților, a se vedea WooCommerce LTV de notare plugin.

În al treilea rând, contextul coș expune accesul structurat la conținut coș, reguli aplicate, informații despre clienți și selecții de transport maritim. Condițiile personalizate pot examina starea coșului complet prin metode documentate, ceea ce înseamnă că logica stării personalizate poate pune în aplicare reguli de afaceri care depind de combinații de conținut de coș, de stat client, și context de transport maritim. Contextul coș structurat înlocuiește modelul fragil al structurilor de parsare coș direct și rupere atunci când WooCommerce actualizări schimba reprezentările coș intern.

În al patrulea rând, utilităţile de testare ale platformei expun coșul și contextele clienților pe care dezvoltatorii le pot folosi în testele unitare. Logica stării personalizate poate fi testată în izolare prin furnizarea de coșuri de testare și contexte client și verificarea comportamentului preconizat al ieșirilor booleene. Utilităţile de testare fac condițiile personalizate cu adevărat testabile, în loc să solicite teste complete de integrare WordPress pentru fiecare schimbare de condiție. Pentru mai multe despre abordările de testare, consultați dezvoltatorul WooCommerce.

Cum pun în practică dezvoltatorii condiţii de reglementare personalizate

Modelul de implementare pentru o condiție de regulă personalizată urmează un flux de lucru standard de dezvoltare WordPress. Dezvoltatorul creează un plugin personalizat sau adaugă cod la un plugin MU specific clientului, înregistrează starea personalizată prin cârligul de filtrare documentat, implementează logica de stare ca un callable care returnează un boolean, și testează logica de condiție împotriva scenariilor de coș așteptat și client. plugin-ul personalizat trăiește separat de GT BOGO Engine, ceea ce înseamnă actualizări plugin nu afectează logica personalizate.

Pentru un control en-gros B2B, starea personalizată interoghează utilizatorul meta pentru steagul acordului en-gros și returnează adevărat numai atunci când steagul este prezent și acordul este activ. Starea personalizată se atașează apoi la norme specifice în cazul în care logica en-gros ar trebui să se aplice, iar motorul de regulă evaluează starea personalizată în timpul calculării coșului. Rezultatul este că clienții angro eligibili văd în mod automat regulile de gros aplicate, în timp ce clienții non-toolsale văd normele standard de vânzare cu amănuntul.

Pentru o verificare de stare de abonament, starea personalizată interoghează plugin-ul de abonament WooCommerce API pentru starea de abonament activ al clientului și returnează adevărat atunci când clientul are un abonament activ care se potrivește unor criterii specifice. Starea personalizată se atașează regulilor specifice de abonament, iar motorul de regulă evaluează în consecință. Stratul de inteligență al clientului platformei oferă deja detectarea abonamentului, ceea ce înseamnă că cecurile simple de abonament nu pot necesita o condiție personalizată, ci mai multe verificări nuanțate (produse specifice de subscriere, eligibilitatea nivel de subscriere, intervale de date de abonament) beneficiază de obicei de logica stării personalizate.

Pentru o verificare a furnizorului de piata, conditia personalizata interogheaza continutul cosului pentru produsele de la furnizori specifici si returneaza adevarat atunci cand sunt indeplinite minimele specifice vanzatorului si pragurile de nivel. Conditia personalizata se ataseaza de regulile specifice vanzatorului, iar motorul de regula evalueaza continutul cosului in timpul calculului. Rezultatul este ca vanzatorii de piata primesc logica promotionala specifica vanzatorului aplicata automat fara sa sparga calculul cosului atunci cand produsele altor furnizori sunt si in cos.

Comparație: Motoare standard de regula vs Motoare de regula extensibile

În cazul în care este necesar, vă rugăm să precizați dacă este necesar.

Real-World Custom Examples Rule Condition

Un client de distributie B2B are nevoie de logica promotionala care depinde de pragurile de volum ale clientului. Dezvoltatorul implementeaza o conditie personalizata care intreaba nivelul contului clientului de la utilizator meta si calculul volumului specific de nivel al cosului. Conditia revine adevarata atunci cand volumul cosului corespunde pragului nivelului contului clientului, ceea ce inseamna ca clientii de nivel A vad automat praguri de volum diferite fata de clientii de nivel B. Starea personalizata este de aproximativ 25 de linii de cod, traieste intr-un plugin specific clientului, si este testata unitar impotriva scenariilor reprezentative ale cosului si clientilor.

Un client de wellness bazat pe abonament are nevoie de logica promotionala care exclude produsele de abonament din reduceri largi in timp ce aplica oferte speciale clientilor abonamente pe produse add-on. Dezvoltatorul implementeaza conditii personalizate care verifica atat continutul cosului (cu exceptia produselor de abonament din calculul discountului) cat si starea clientilor (identificand abonatii activi pentru oferte speciale). Conditiile se integreaza cu capacitatea de detectare a abonamentului platformei si adauga logica specifica clientului pe care platforma nu o ofera din cutie. Pentru mai multe detalii privind manipularea abonamentelor, vezi oferta WooCommerce.

Un client multi-vendor pe piata are nevoie de logica promotionala care respecta minimul per-vendor si pragurile per-vendor. Dezvoltatorul implementeaza o conditie personalizata care sa examineze continutul carului de catre vanzator, sa calculeze totalurile per-vendor, si sa evalueze logica per-vendor. Conditia revine adevarata doar atunci cand logica per-vendor indica regula ar trebui sa se aplice pentru produsele acelui anumit furnizor. Rezultatul este ca logica promotionala de piata functioneaza corect pe caruturi multi-vendore fara rupere atunci cand produsele furnizorilor se amesteca in acelasi cos.

Calea de migrație pentru logica de reguli personalizate existente

Migraţia este non-distructivă deoarece GT BOGO Engine coexistă cu plugin-uri promoţionale existente fără conflicte. Dezvoltatorii pot instala GT BOGO Engine alături de actualul sistem promoţional, logica portului personalizat pentru noua arhitectură treptat, şi valida comportamentul înainte de pensionare sistemul moștenitor. Aceasta se adresează preocupării dezvoltator standard cu privire la riscul de perturbare în timpul tranziţiilor platformelor.

Secvența pragmatică de migrare are patru faze pe parcursul a două până la trei luni pentru un portofoliu tipic de reguli personalizate. În primul rând, auditați logica actuală a regulii personalizate pentru a identifica condițiile personalizate, modul de care depind acestea, și cum arată acoperirea de testare. Auditul produce un backlog de migrare cu fiecare condiție personalizată enumerate pentru portare. În al doilea rând, port cele mai simple condiții personalizate pentru a valida modelul de migrare și de a construi expertiza dezvoltatorului pe noua arhitectură. În al treilea rând, portul condițiile de personalizare rămase în ordinea prioritară bazată pe impactul clientului și complexitatea.

În al patrulea rând, validați condițiile personalizate migrate împotriva scenariilor client reprezentativ și retrageți sistemul moștenitor odată ce paritatea este verificată. Faza de validare utilizează de obicei mediile de pregătire cu capturi de date de producție pentru a verifica dacă logica migrată produce un comportament echivalent cu logica moștenită. Cele mai multe portofolii de reguli personalizate completează migrarea într-un sfert, cu cele mai simple condiții personalizate care migrează în zile și condiții mai complexe, care durează câte una până la două săptămâni fiecare. Pentru mai multe despre organizarea fluxurilor de lucru, consultați dezvoltatorul WooCommerce.

Structura preţurilor şi licenţei pentru uzul dezvoltatorului

GT BOGO Engine PRO este $499 pe an plat pentru fiecare client magazin cu nici un nivel de stabilire a prețurilor per-featură. Nu există nici o taxă pentru capacitatea de extindere regula, inteligența clientului API, contextul coș API, utilitățile de testare, sau oricare dintre caracteristicile de dezvoltare a platformei cu care se confruntă. individuale de industrie specifice PRO Packs sunt $79.99 fiecare. Trei niveluri pachet oferă economii pentru clienții cu mai multe industrii: Starter Bundle (299 dolari pentru 5 pachete, salvați $100.95), Bundle de creștere ($299 pentru 9 pachete, economisind $220.91), și complet Arsenal ($799 pentru 15 pachete, salvați $400.85).

Modulul de bază liber include capacitatea de extensie a regulii și cârligele de filtrare documentate, ceea ce înseamnă că dezvoltatorii pot valida arhitectura de extensie înainte de a se angaja la PRO. Majoritatea dezvoltatorilor folosesc nivelul gratuit pentru validarea arhitecturală inițială și prototipuri porting, apoi upgrade la PRO atunci când implementarea clientului include biblioteca de campanie, strat de inteligență a clienților și sistemul de e-mail al ciclului de viață, care sunt doar caracteristici PRO.

Întrebări frecvente de la dezvoltatorii WooCommerce

Care este cârligul de filtrare documentat pentru înregistrarea condițiilor personalizate?

Platforma expune cârlige de filtrare pentru înregistrarea stării care urmează modele WordPress standard. Numele și semnăturile cârlige exacte sunt documentate în ghidul dezvoltatorului. Modelul urmează convenția WordPress a cârligelor de filtrare numite, pe care plugin-urile personalizate le înregistrează împotriva, cu platforma invocând callables înregistrate în timpul calculului coșului. Cârligele documentate rămân stabile în versiunile plugin-ului, cu comportament compatibil înapoi, păstrat atunci când cârligele evoluează. Pentru mai multe despre arhitectura dezvoltatorului, consultați ghidul dezvoltator GT BOGO Engine.

Cum gestionează platforma conflictele dintre condițiile personalizate și condițiile integrate?

Condiţiile personalizate şi condiţiile integrate evaluează independent, cu motorul de regulă care combină rezultatele booleane în funcţie de logica de condiţie a regulii (toate condiţiile trebuie să fie adevărate, orice condiţie trebuie să fie adevărată, etc.). Nu există nici un conflict între condiţiile personalizate şi cele integrate, deoarece acestea sunt evaluate ca controale baoleane paralele, mai degrabă decât ca logica suprapunere. Dezvoltatorii configura reguli cu combinaţii de condiţii personalizate şi încorporate pentru a exprima logica complexă de afaceri.

Condiţiile de personalizare pot accesa datele modulului terţe părţi?

Da. Conditii personalizate executa in context de cerere standard WordPress, ceea ce inseamna ca pot accesa orice date disponibile prin intermediul standard WordPress si WooCommerce API. WooCommerce Abonamente date, meta utilizator personalizat, date de plugin terte parti, si apelurile API externe sunt toate accesibile din cadrul callables conditii personalizate. Dezvoltatorii ar trebui sa fie atenti la implicatiile de performanta atunci cand conditiile personalizate fac apeluri API externe, deoarece conditiile executa in timpul calculului cosului.

Cum funcționează platforma compatibilitatea înapoi pentru condițiile personalizate?

Cârligele de filtrare documentate pentru înregistrarea stării personalizate urmează convenţiile de versiune semantică. Modificările compatibile cu spatele se întâmplă liber; modificările înapoi-incompatibile se întâmplă la tranziţii de versiune majoră cu trasee de migrare documentate. Condiţiile personalizate scrise împotriva unui cârlig documentat într-o versiune majoră continuă să lucreze în minor şi petice de eliberare ulterioară fără modificare.

Care este timpul tipic de dezvoltare pentru a porta logica reguli personalizate dintr-un plugin moștenire?

Cele mai multe porturi logice regula personalizate în zile, mai degrabă decât săptămâni, deoarece modelul arhitectural este consistent pe tot parcursul motorului regula. Condiţii simple personalizate (verificări boolean împotriva coș sau date client) port în ore. Condiţii complexe personalizate ( logica multi-pas cu dependenţe externe) port în zile. Timpul port total pentru un portofoliu client tipic ruleaza una până la două săptămâni pe dezvoltator, cu munca mai profundă fiind pe testare şi validare, mai degrabă decât pe porting sine. Pentru context mai larg pe arhitectura dezvoltator, a se vedea dezvoltator zero arhitectura conflict.

GT BOGO Engine este construit de GRAPHIC T-SHIRTS, un magazin WooCommerce real cu peste 1200 de designuri originale care rulează la scară. Vizitați gtbogoengine.com pentru a descărca plugin-ul de bază gratuit, evalua arhitectura de extensie a regulii și API-uri cu care se confruntă dezvoltatorul, și decideți dacă extensibilitatea platformei justifică migrarea pe cronologie. Pentru context mai larg, a se vedea WooCommerce inteligență promoțională explicată.

Eşti gata să-ţi automatizezi promoţiile WooCommerce?

GT BOGO Engine PRO bază 46 superputeri, 200 pachete de campanie, zero coduri de cupoane. 499/an dolari.

See GT BOGO Engine PRO →
GT
GT BOGO Engine Editorial Team
WooCommerce

GT BOGO Engine bază de date pentru prima platformă de informații promoționale pentru WooCommerce.