Legger til tilpassede utløsere til AutomateWoo

E-postmarkedsføring er nøkkelen til å drive en effektiv e-handelsside. Selv om det er mange gode e-postmarkedsføringsplattformer der ute, har mange ikke veldig dype interaksjoner med WooCommerce. Hvis du begynner å se på alle pluginene som er tilgjengelige for WooCommerce og deres muligheter, er det nesten ingen e-postmarkedsføringsplattformer som samhandler med mange av de forskjellige hendelsene du vil bruke.

Dette er hvor AutomateWoo fyller et stort gap. AutomateWoo er bygget spesielt for WooCommerce; for å automatisere kundeinteraksjonene dine fullstendig i WordPress-administrasjonsgrensesnittet. Dette betyr at den har ganske dype kroker til WooCommerce som du kan utnytte. Dette betyr også at det er bygget ved hjelp av WordPress beste praksis for utvikling av plugin og ikke trenger å samhandle med en tredjepartsserver.

I dag skal vi ta en titt på hva AutomateWoo kan gjøre for deg rett ut av boksen. Deretter skal jeg lede deg gjennom prosessen med å lage en tilpasset utløser for de få gangene AutomateWoo ikke dekker en av dine brukstilfeller.

Grunnleggende om AutomateWoo Trigger

AutomateWoo fungerer ved å oppdage handlinger som brukere utfører. Når en handling er gjenkjent av plugin, lar den deg utløse hendelser. Hvis det høres litt forvirrende ut, la oss bruke AutomateWoo til å sende en takke-e-post til en kunde når de har brukt over $200 i butikken vår.

For å begynne gå til AutomateWoo -> Arbeidsflyter og klikk deretter Legg til arbeidsflyt øverst på siden.

Deretter oppretter du en beskrivende tittel for arbeidsflyten din. Jeg ga tittelen min.

Nå må vi velge utløseren vi vil bruke. Klikk på valgboksen og velg Kundens totale forbruk når fra listen over tilgjengelige utløsere, og sett deretter den totale forbruksverdien til $200.

Å lese:  6 tips for å gjøre Magento-produksjonen klar

Nå må vi velge en handling som skal utføres når en kunde bruker mer enn $200 i butikken vår. Klikk på den blå + Legg til handling knappen og velg Send e-post som handlingen vi ønsker å ta.

Når du fyller ut hva du vil si til en kunde, husk at du kan bruke hvilken som helst av variablene som er oppført på høyre side av skjermen. For å bruke en variabel må du bruke doble krøllete klammeparenteser rundt variabelnavnet. Det betyr at å bruke kundens fornavn (hvis de har et i systemet ditt), vil du bruke {{customer.first_name}} i teksten din der du vil at informasjonen skal vises.

Når du har fått e-postinnholdet du ønsker, bla tilbake til toppen av siden og klikk på den blå Lagre knappen slik at arbeidsflyten din er lagret og klar til bruk. Hvis du jobber med en arbeidsflyt, kan du endre statusen til den til Deaktivert og deretter klikke Lagre. Merking av en arbeidsflyt som deaktivert vil sikre at den ikke kjører mens du jobber med den.

Jeg har kjørt arbeidsflyter som jeg ikke ville ha kjørt, og trodde også at jeg hadde en aktiv arbeidsflyt som var deaktivert. Dobbeltsjekk alltid statusen til arbeidsflyten din når du er ferdig med å jobbe med den for dagen.

En funksjon i AutomateWoo vi ikke har berørt ennå, er reglene deres. Regler lar deg filtrere hvilken type kunde en regel fungerer for. Du kan bruke to forskjellige regler for å belønne den gjentatte kunden ovenfor basert på hvor de er. Kanskje du kan sende et kort til kunder i landet ditt, og du bruker en regel for å sende deg selv en e-post med adressen deres når de når terskelen. For brukere utenfor landet ditt kan du sende e-posten ovenfor i stedet for kortet.

Å lese:  Komponentene til et skalerbart nettsted og nettapplikasjoner

Lag en tilpasset AutomateWoo-utløser for WooCommerce-team

Til tross for de dype krokene som AutomateWoo har i WooCommerce, dekker det ikke alle tilfeller for hver plugin. For en klient jeg nylig jobbet med, ønsket vi å sende hvert nye teammedlem en e-post etter hvert som de ble lagt til et team på innsiden Team for WooCommerce-medlemskap. AutomateWoo gir ikke en trigger for dette ut av esken, men det er mulig å legge til dine egne tilpassede utløsere til AutomateWoo.

For å starte trenger vi en base-plugin, som du kan se nedenfor.

Selv om det er mulig å ha en enkelt plugin-fil og inkludere alle de tilpassede triggerne du måtte ønske, liker jeg ikke å gjøre det med mindre jeg er 100 % sikker på at jeg bare legger til en enkelt trigger. Hvis du ender opp med å legge til mer enn én eller to utløsere, ender du opp med en enorm plugin-fil med funksjoner spredt over alt, og det blir vanskelig å administrere hvilken utløser du har å gjøre med til enhver tid. I stedet liker jeg å beholde hver trigger i sin egen fil og inkludere dem i hovedpluginen. Dette gjør det enkelt å velge ut hvilken trigger du jobber med.

Vi må imidlertid inkludere hovedtriggerregistreringen i pluginet, så la oss gjøre det og inkludere filen som vil inneholde triggeren vår. Legg til triggerfilteret inne i init-funksjonen vår.

Å lese:  Hvordan startet Nike: Fra søksmål for ansatte, barnearbeid, til milliardsalg

add_filter( ‘automatewoo/triggers’, array( $this, ‘add_to_team_trigger’ ), 10, 1 );

Dette kaller igjen en funksjon kalt add_to_team_trigger som vil registrere vår nye trigger for AutomateWoo. Rett under init-funksjonen vår, legg til følgende kode, som skal få base-plugin-en din til å se ut som dette.

offentlig statisk funksjon add_to_team_trigger( $triggers ){

require_once( ‘trigger-add-to-team.php’ );

$triggere[‘nexcess_add_to_team’] = ‘Hostinger_Add_To_Team_Trigger’;

returnere $triggere;

}

Legg merke til at rett før vi legger til $trigger-arrayen, krevde vi en fil kalt trigger-add-to-team.php. Nå må vi lage den filen slik at vi har en trigger i AutomateWoo. Lag en fil kalt trigger-add-to-team.php i plugin-mappen din og lim deretter inn koden nedenfor i den.

La oss nå gå gjennom hva koden gjør. Linje 3 – 5 handler om sikkerhet. De stopper noen til ingen nytte fra å få direkte tilgang til selve filen. Deretter definerer vi en klasse kalt Hostinger_Add_To_Team_Trigger som utvider basisfunksjonaliteten til AutomateWoo sin Trigger-klasse. Linje 14 definerer dataene som sendes til triggeren vår.

I vår init-funksjon definerer vi to ting. Først definerer vi navnet på kroken vår og for det andre sier vi hvilken gruppe den skal gå i. Du kan bruke de eksisterende gruppene i AutomateWoo eller du kan definere en egendefinert gruppe. I dette tilfellet brukte vi Team-gruppen fordi triggeren er relatert til WooCommerce Teams. Enhver fremtidig teamutløser vil gå i samme gruppe.

Hvis triggeren vår trengte å laste inn tilpassede brukergrensesnittelementer, ville vi brukt load_fields-funksjonen. Vi har ingen (og jeg har aldri trengt noen), så vi lar det være.

Register_hooks-funksjonen er det som fanger opp hva som skjer i WooCommerce-team, slik at vi kan gjøre noe når et nytt teammedlem legges til. Hvis vi går til Team.php-filen i WooCommerce Memberships for Teams og går til slutten av add_member-funksjonen vår, vil vi se at når et teammedlem har blitt lagt til, kaller det kroken som heter wc_memberships_for_teams_add_team_member.

Å lese:  4 grunner til at Nofollow-koblinger har SEO-verdi

Merk at wc_memberships_for_teams_add_team_member sender Member-objektet og ikke en user_id som er det AutomateWoo forventer å få på linje 47. Det betyr at vi må ta Member-objektet og hente user_id fra det på linje 43 og 44 slik at vi kan sende user_id til AutomateWoo.

wc_memberships_for_teams_add_team_member

Ved å legge til denne action-kroken kjører vi triggeren vår når et nytt medlem er lagt til et team.

Deretter kalles catch_hooks-funksjonen vår av register_hooks-funksjonen, spesifikt kalles den her når handlingen wc_memberships_for_teams_add_team_member kjøres. Dette kommer til å sende user_id til resten av AutomateWoo slik at vi kan sende en bruker en e-post.

Resultatet av all denne koden er at hvis vi oppretter en ny arbeidsflyt i AutomateWoo ser vi at vi har en ny trigger som lar oss kjøre en arbeidsflyt når en ny bruker legges til i et team. Sørg for at din egendefinerte plugin er aktivert, og lag deretter en ny arbeidsflyt ved å bruke vår nye trigger.

Det er det, vi har nå vår egendefinerte trigger som jobber for AutomateWoo. Du kan se den fullførte plugin-en her.

For å legge til egendefinerte utløsere for andre hendelser på nettstedet ditt, må du se etter andre actionhooks slik at du kan oppdage forskjellige hendelser etter hvert som de skjer. Ved å bruke stort sett den samme koden ovenfor kan jeg også sende en e-post til en bruker når de blir fjernet fra et team ved å bruke wc_memberships_for_teams_after_remove_team_member-kroken i den samme Teams.php-filen.

Nye publikasjoner:

Anbefaling