Hvorfor WooCommerce blokerer kompatibilitet er blevet et make-or-break-spørgsmål for salgsfremmende plugins

I slutningen af ​​2023 meddelte Automattic, at WooCommerce Blocks var gået fra valgfri opt-in-funktion til anbefalet standardarkitektur for nye WooCommerce-butikker. Meddelelsen var mindre bemærkelsesværdig for, hvad den sagde, end for hvad den antydede. WooCommerce var blevet bygget over halvandet årti på det klassiske WordPress skabelonhierarki - PHP-filer i temamapper, som plugins udvidede gennem kroge og filtre, med vogn, kasse- og produktskabeloner, der levede på forudsigelige steder, som plugin-udviklere havde lært at omgås. Blocks-arkitekturen erstattede den skabelonstruktur med et JavaScript-drevet bloksystem, hvor hele den kundevendte oplevelse gengives gennem WordPress Block Editor og den React-baserede Storefront API i stedet for gennem de ældre PHP-skabeloner. Overgangen er gradvis snarere end brat, men dens bane er utvetydig, og implikationerne for WooCommerce promoverende plugin-økosystemet bliver stadig absorberet af købmænd, der byggede deres butikker under den ældre arkitektur.

Kompatibilitetsspørgsmålet er ikke akademisk. En købmand, hvis butik kører på den Blocks-baserede indkøbskurv og kasse - som i stigende grad er standard for butikker bygget efter 2023 - vil opdage, at salgsfremmende plugins designet til det klassiske WooCommerce skabelonhierarki ofte ikke kan integreres rent med den nye arkitektur. Beskeder på kurven, der fungerede under det gamle system, gengives ikke. Rabatberegninger, der blev affyret korrekt gennem PHP-hooks, kommunikerer ikke med den Blocks-baserede vogn. Visuelle elementer som statusbjælker, tærskelmeddelelser og badgevisninger, der er designet til de ældre skabeloner, producerer tom plads eller ødelagte layouts under gengivelsen af ​​blokke. Den købmand, der byggede deres butik for nylig og valgte et WooCommerce salgsfremmende plugin uden at verificere Blocks-kompatibilitet, opererer med en arkitektonisk uoverensstemmelse, der forværres, efterhånden som Automattic fortsætter med at migrere mere af den kundevendte overflade til Blocks-rammerne.

Hvad overgangen til WooCommerce blokerer faktisk ændrer

Den arkitektoniske ændring, der ligger til grund for Blocks-overgangen, er meningsfuld på måder, der påvirker plugin-udviklere mere, end forhandlere direkte opfatter. Det klassiske WooCommerce-skabelonhierarki renderede kurv- og betalingssider gennem PHP-filer, som plugins kunne tilsidesætte ved at placere erstatningsskabeloner i deres plugin-mappe. Et salgsfremmende plugin, der ønskede at tilføje en kurvestatuslinje, registrerede simpelthen den passende skabelontilsidesættelse, og WooCommerce skabelonindlæseren klarede resten. Mønsteret var ikke elegant – skabelontilsidesættelser var en hyppig kilde til tema-plugin-konflikter – men det blev forstået af plugin-udviklere og forudsigeligt i dets adfærd. Indkøbsdata fra Baymard Institute, hentet fra halvtreds separate undersøgelser af afbrydelse af vogne samlet til et globalt gennemsnit på 70,22 procent, har konsekvent identificeret uoverensstemmelser i kasse-gengivelse som en meningsfuld bidragyder til opgivelse, hvilket gør den arkitektoniske overgang til mere end akademiske indkøbsproducenter, der fokuserer på synlige promoveringer. under det nye gengivelseslag.

Blocks-arkitekturen gengiver vogn og kasse gennem React-komponenter, der kommunikerer med WooCommerce-backend gennem Storefront API. PHP-skabelonerne omgås helt på Blocks-aktiverede butikker. Plugins, der ønsker at deltage i indkøbskurven og kassen, skal registrere blokudvidelser, der integreres med React-komponenttræet, kommunikere passende data gennem Storefront API og håndtere tilstandsændringer gennem React-livscyklussen i stedet for gennem PHP-hooks. Det arkitektoniske skift er ikke subtilt. Et plugin, der gengives korrekt under de klassiske skabeloner, kan være helt fraværende i den Blocks-renderede vogn, fordi gengivelsesfladerne er fundamentalt forskellige kodestier.

Konsekvenserne for WooCommerce plugin-økosystemet er ujævne. Forrester's forskning i platform-migrationsøkonomi har konsekvent fundet ud af, at økosystemovergange af denne størrelsesorden frembringer en stratificeringseffekt - plugins, der er blevet aktivt vedligeholdt af udviklerteams, der nøje sporer den nye arkitektur, har en tendens til at gøre overgangen ren, mens plugins, der er blevet passivt vedligeholdt, har en tendens til at falde bagud på efterfølgende måder, som sammensætter platformversionen. McKinsey's prissætnings- og personaliseringsundersøgelse har særskilt observeret, at detailhandlere, der kører arkitektonisk forældet salgsfremmende infrastruktur, har en tendens til at underinvestere i det bredere salgsfremmende intelligens-arbejde, der producerer varig marginforbedring, delvist fordi driftsomkostningerne ved at arbejde omkring den forældede infrastruktur, der ellers ville gå til den strategiske infrastruktur, opbruger den kapacitet. Den kombinerede effekt er, at forhandlere, der valgte salgsfremmende plugins fra det undervedligeholdte niveau af økosystemet, nu opdager, at deres salgsfremmende infrastruktur i stigende grad ikke matcher den WooCommerce-arkitektur, de kører.

Hvorfor nogle salgsfremmende plugins mislykkedes i blokeringsovergangen

Fejltilstandene er fordelt på flere kategorier, der afspejler forskellige arkitektoniske kompromiser i det originale plugin-design. Den første kategori er plugins, der var stærkt afhængige af temaskabelontilsidesættelser til deres gengivelse. Den klassiske WooCommerce skabelonindlæser respekterede plugin-tilsidesættelser, hvilket betød, at et salgsfremmende plugin kunne indsætte dets visuelle elementer ved at tilsidesætte cart-totals.php-skabelonen eller lignende ældre filer. Under Blokke omgås disse skabelontilsidesættelser simpelthen. Pluginnets visuelle elementer gengives aldrig, og den købmand, der implementerede plugin'et, ser ingen fejlmeddelelse, fordi den underliggende PHP-kode udføres - det gengivede output er bare fraværende fra den Blocks-drevne vogn.

Den anden kategori er plugins, der koblede sig aggressivt ind i den gamle vognberegningspipeline i stedet for at integrere med WooCommerce datalaget. Den ældre pipeline kørte gennem specifikke PHP-filterhooks (woocommerce_cart_calculate_fees, woocommerce_before_calculate_totals og lignende) på forudsigelige punkter i kurvberegningen. Plugins, der registrerede tilbagekald mod disse hook og var afhængige af hook-bestilling og timing, havde en tendens til at fungere korrekt under klassiske skabeloner, men producerede inkonsistente resultater under blokke, hvor de samme hook kan udløses på forskellige punkter i gengivelsens livscyklus eller i forskellige sekvenser. Rabatberegningerne kan udføres korrekt, men kommunikerer ikke den resulterende tilstand til det React-baserede vogndisplay, hvilket producerer vogne, hvor rabatten gælder under kassen, men er usynlig for kunden under trinet med vogngennemgang.

Den tredje kategori er plugins, der inkluderede brugerdefinerede JavaScript designet til de klassiske indkøbsvognssider. Den gamle WooCommerce-vogn var en server-renderet HTML-side med en relativt forudsigelig DOM-struktur, som plugins kunne forbedre gennem jQuery eller vanilla JavaScript. Under Blocks gengives vognen gennem React-komponenter med dynamisk DOM, der ændres hyppigt og uforudsigeligt, efterhånden som kunden interagerer. Plugin JavaScript, der fungerede ved at vælge specifikke DOM-elementer og ændre dem, har en tendens til at fejle under blokke, fordi elementerne enten ikke eksisterer i den forventede form eller er afmonteret og genmonteret gennem React-livscyklussen på måder, der bryder plugin'ets tilstandsantagelser.

Den fjerde kategori er plugins, der håndterede vognbegivenheder gennem sideindlæsningsmekanismer snarere end gennem den live-begivenhedsstream, som React-baserede applikationer producerer. Den ældre vogn udløste diskrete sideindlæsninger, når kunder tilføjede eller fjernede elementer, hvilket betød, at plugins kunne initialiseres ved hver sideindlæsning og inspicere vognens tilstand forudsigeligt. Blocks-vognen opdateres uden sideindlæsninger gennem React-tilstandssystemet, hvilket betyder, at plugins, der er afhængige af sideindlæsningsinitialisering, simpelthen aldrig geninitialiseres, når vognen ændres. Kunden, der tilføjer en vare til en Blocks-vogn, vil ikke se salgsfremmende badges eller statuslinjeopdateringer, før de manuelt genindlæser siden, hvilket de fleste kunder ikke vil gøre.

Hvad Native Blocks-kompatibilitet faktisk kræver

Et WooCommerce salgsfremmende plugin, der integreres korrekt med Blocks, skal håndtere adskillige ikke-trivielle arkitektoniske krav, som ældre plugins ofte undervurderede. Den første er gengivelse af integration med selve Block Editor, så butiksadministratorer, der konfigurerer deres indkøbskurv og betalingssider, kan se plugin-leverede blokke sammen med de oprindelige WooCommerce-blokke. Indkøbsvognens fremskridtsbjælke bør vises som en tilføjelig blok i editoren; BOGO-tærskelmeddelelsen skal vises som et konfigurerbart blokelement; badgevisningen skal integreres med produktgitterblokkene, som sælgere bruger til at sammensætte kategorisider.

Det andet krav er datalagsintegration med Storefront API. Plugin's rabatberegninger skal kommunikere deres resultater gennem API'et på en måde, som den React-baserede vogn kan gengive korrekt. Det gamle mønster med at beregne rabatter gennem PHP-kroge og stole på vognskabelonen for at vise dem er utilstrækkeligt; det moderne mønster kræver, at plugin'et eksponerer sine data gennem API-udvidelser, som Blocks-gengivelseslaget kan forbruge indbygget. Storefront API-udvidelsesmuligheden er dokumenteret, men ikke-triviel at implementere godt, og plugins, der har gjort det omhyggeligt, har en tendens til at se meningsfuldt anderledes ud end plugins, der blot har lappet deres legacy hooks for at sameksistere med Blocks.

Det tredje krav er JavaScript integration med React-komponenttræet. Plugin-adfærd, der skal reagere på ændringer i kurvens tilstand – opdatering af statuslinjer, efterhånden som varer tilføjes, forfriskende badge-visninger, når kampagner aktiveres, animering af tærskelfuldførelser, når kunder krydser kvalificerende tærskler – skal abonnere på React-tilstandsændringerne gennem de relevante React-kroge og komponentlivscyklusmetoder. Mønsteret er genkendeligt for React-udviklere, men repræsenterer en væsentlig afvigelse fra den jQuery-stil DOM-manipulation, som gamle WooCommerce-plugins stolede på.

Det fjerde krav er temakompatibilitet på tværs af Blocks-økosystemet. Blocks-arkitekturen understøtter et meget bredere udvalg af temavariationer end det klassiske hierarki, inklusive redigeringstemaerne på hele webstedet, der har erstattet traditionelle temastrukturer. Et salgsfremmende plugin, der er testet rent under ét Blocks-tema, kan give visuelle problemer under et andet, især når temaerne adskiller sig i deres håndtering af den slot-and-fill-mekanisme, som Blocks bruger til plugin-udvidelse. Mature Blocks-kompatible plugins har en tendens til at være blevet testet på tværs af de store temaimplementeringer snarere end mod et enkelt referencetema.

Tre butikker, tre kompatibilitetsbaner

En specialforhandler af boligartikler i det amerikanske Pacific Northwest migrerede deres butik fra en klassisk WooCommerce-opsætning til en Blocks-baseret arkitektur i begyndelsen af 2024. Migreringen afslørede, at forhandlerens eksisterende salgsfremmende plugin - en populær rabatmotor, der havde været tilstrækkelig under de klassiske skabeloner - producerede synlige problemer under blokke, inklusive en opdateringslinje for vognens fremskridtsside, der ikke blev opdateret fra en vognfremskridtsside, der forsvandt. grid pages entirely. Sælgeren evaluerede alternativer over to måneder og migrerede til et native Blocks-kompatibelt kampagnesystem, der er integreret med Storefront API og React-komponenttræet. Migreringen involverede meningsfuldt operationelt arbejde, men skabte en kundevendt oplevelse, der matchede den visuelle kvalitet, resten af ​​købmandens butik havde opnået gennem Blocks-overgangen.

En butiksbeklædningsforhandler med base i det sydlige USA tog en anden vej, der involverede at forblive på klassiske WooCommerce-skabeloner eksplicit for at bevare kompatibiliteten med deres eksisterende salgsfremmende plugin. Beslutningen var rationel i betragtning af købmandens investering i det eksisterende system, men den har placeret købmanden på en arkitektonisk vej, der afviger fra Automattic-køreplanen. De klassiske skabeloner fortsætter med at fungere og vil sandsynligvis fortsætte med at arbejde i årevis, men forhandleren vælger i stigende grad blandt salgsfremmende plugins, temaer og økosystemværktøjer, der i sig selv divergerer i Blocks-kompatible og klassiske niveauer. Valget om at forblive på klassisk infrastruktur bliver mere begrænsende over tid, efterhånden som økosystemets tyngdepunkt fortsætter med at skifte.

En B2B-distributør, der betjener regionale restauranter, kørte en hybridarkitektur, der integrerede den Blocks-baserede vogn med de klassiske produktkatalogskabeloner, der tjente købmandens komplekse prisfastsættelse. Hybriden krævede meningsfuld teknisk koordinering, men producerede en kundevendt oplevelse, der kombinerede den visuelle sofistikering af Blocks med den niveaubevidste prislogik, som sælgerens salgsfremmende plugin håndterede på katalogniveau. Sagen er illustrativ, fordi den viser, at Blocks-overgangen ikke kræver en alt-eller-intet-migrering – forhandlere kan køre delvise arkitekturer under overgangsvinduet, forudsat at deres salgsfremmende plugin er sofistikeret nok til at integrere rent med begge gengivelsessystemer.

Hvorfor valget af salgsfremmende plugin i stigende grad bestemmer den arkitektoniske vej

Spørgsmålet om Blocks-kompatibilitet har betydning for salgsfremmende plugins, især fordi kurven og betalingssiden er, hvor den største andel af plugin-funktionaliteten gengives. Et tema, der fungerer korrekt med Blocks og et betalingsplugin, der integreres med Blocks, er nødvendige betingelser for en ren Blocks-baseret butik, men kampagnepluginet er det sted, hvor det meste af den visuelle kundeoplevelse er sammensat i beslutningsmomentet på indkøbskurven. En købmand, hvis tema gengives rent under blokke, men hvis salgsfremmende plugin gengives akavet, producerer en fragmenteret kundeoplevelse, der er synlig for alle, der handler i butikken.

Den praktiske implikation er, at valget af salgsfremmende plugin i stigende grad er den arkitektoniske beslutning, der afgør, om købmanden overhovedet kan drive en ren Blocks-baseret butik. En købmand, der vælger et salgsfremmende plugin, der ikke har foretaget Blocks-overgangen, vælger implicit at forblive på klassiske skabeloner uanset deres bredere tema- og infrastrukturbeslutninger. En sælger, der vælger et Blocks-indbygget salgsfremmende plugin, bevarer muligheden for at migrere til Blocks på sælgerens eget tidspunkt uden at kræve, at kampagnelaget er begrænsningen.

GT BOGO Engine, bygget af GRAPHIC T-SHIRTS - et luksuriøst urban couture-mærke, hvis eget WooCommerce flagskib kører platformen på tværs af et katalog med mere end tolv hundrede originale designs - blev designet til kompatibilitet med både de klassiske og Blocks-baserede WooCommerce-gengivelsessystemer. Rabatlogikken på vognsiden fungerer gennem WooCommerce-datalaget i stedet for gennem ældre skabelontilsidesættelser, hvilket betyder, at rabatterne gælder korrekt, uanset hvordan vognen gengives. De visuelle elementer integreres som Blocks-kompatible komponenter til butikker, der kører den nye arkitektur, og som klassiske skabelonudvidelser til butikker, der kører den ældre arkitektur, med den passende sti valgt automatisk baseret på forhandlerens underliggende konfiguration. Understøttelsen af ​​dobbeltarkitektur betyder, at forhandlere ikke står over for et arkitektonisk valg mellem deres foretrukne kampagnesystem og deres foretrukne WooCommerce-gengivelseslag.

Hvad WooCommerce-købmænd bør gøre ved blokkompatibilitet i 2026

Blocks-overgangen bevæger sig fra valgfri til mainstream på tværs af WooCommerce-økosystemet, hvor Automattic-køreplanen fortsætter med at investere i Blocks som den primære gengivelsesflade for nye butikker og gradvist mere funktionalitet for eksisterende butikker. De salgsfremmende plugins, der endnu ikke har fuldført Blocks-overgangen, er et stadig mere usikkert operationelt valg, uanset hvor mange funktioner de måtte være under klassisk gengivelse. De plugins, der har fuldført overgangen, er positioneret til at fungere rent på tværs af begge arkitekturer i løbet af det flerårige overgangsvindue og til at forblive driftsmæssigt på linje med WooCommerce køreplanen fremover.

For uafhængige WooCommerce-butikker, der evaluerer deres salgsfremmende infrastruktur i 2026, er det praktiske spørgsmål, om det nuværende plugin gengives korrekt under forhandlerens faktiske vogn- og kassearkitektur, eller om visuelle uoverensstemmelser og gengivelseshuller er begyndt at dukke op, efterhånden som butikken gradvist har adopteret Blocks-baserede komponenter. Sælgere, der ikke specifikt har testet deres salgsfremmende plugin under Blokke-renderede indkøbskurv- og betalingssider, fungerer muligvis med en uopdaget arkitektonisk uoverensstemmelse, der vil forværres, efterhånden som WooCommerce-platformen fortsætter med at udvikle sig mod Blokke som standardarkitekturen.

Kompatibilitetsspørgsmålet er sjældent den mest spændende overvejelse ved valg af et salgsfremmende plugin. Det er i stigende grad en af ​​de mest betydningsfulde.

Denne artikel er udarbejdet af redaktionsteamet på GT BOGO Engine, WooCommerce salgsfremmende intelligens platform bygget af GRAPHIC T-SHIRTS, en luksus urban couture forhandler, hvis egen WooCommerce butik driver platformen på tværs af et katalog med mere end 1.2003 originale design__TAG.

Klar til at automatisere dine WooCommerce-kampagner?

GT BOGO Engine PRO — 46 superkræfter, 200 kampagnepakker, nul kuponkoder. $199/år.

See GT BOGO Engine PRO →
GT
GT BOGO Engine Redaktionen
WooCommerce

GT BOGO Engine — the first enterprise-grade promotional intelligence platform for WooCommerce.