Ett bra sätt att informera kunder och undvika problem är att visa uppskattad leveranstid på den enskilda produktsidan, strax under knappen ”Lägg i varukorg”. Det går givetvis att göra detta manuellt, men med en liten kod så sköts detta automatiskt på varje produkt. Koden passar alla som säljer produkter med leveranstid, det kan handla om soffor som tillverkas på beställning som ett exempel.
Det här är också bra, för om du ändrar något i dina leveransregler behöver du bara ändra det korta PHP-kodavsnittet och inte alla dina produktbeskrivningar. Det är mycket mer flexibelt på detta sätt. Koden kommer även att generera en dynamisk leveranstid som ändras baserat på dagens datum.
Koden kommer att visa följande:
Beställningar som kommer på fredag, lördag och söndag kommer att skickas på måndag. För övriga dagar kommer beställningen att skickas samma dag om den görs innan kl. 16:00. Beställningar som kommer efter kl. 16:00 kommer att skickas dagen efter.
Observera funktionerna “datum (’N’)” och “datum (’H’)”, som i PHP ger respektive veckodag och aktuell timme på dagen så att jag kan jämföra dem med lokal & aktuell tid. Titta också på funktionen ”date_default_timezone_set ()” om du vill ställa in en annan tidszon, vilket är viktigt för beräkningarna av denna kod.
Kom ihåg att anpassa koden efter dina leveransvillkor och leveranstider.
/** * Visa leveransdatum @ WooCommerce produkt * Viktormarketing.se **/ add_action( 'woocommerce_after_add_to_cart_form', 'vmarketing_leveranstid_produkt' ); function vmarketing_leveranstid_produkt() { date_default_timezone_set( 'Europe/London' ); // Om FRE/LÖR/SÖN leverans blir på MÅN if ( date( 'N' ) >= 5 ) { $del_day = date( "l jS F", strtotime( "next monday" ) ); $order_by = "Monday"; } // Om MÅN/TORS efter 16:000 leverans blir IMORGON elseif ( date( 'H' ) >= 16 ) { $del_day = date( "l jS F", strtotime( "tomorrow" ) ); $order_by = "tomorrow"; } // Om MÅN/TORS före 16:99 leverans blir IDAG else { $del_day = date( "l jS F", strtotime( "today" ) ); $order_by = "today"; } $html = "<br><div class='woocommerce-message' style='clear:both'>Beställ före 16:00 {$order_by} för leverans {$del_day}</div>"; echo $html; }
Var ska du lägga in koden?
Lägg in PHP-utdraget längst ner (ovanför ”?>”) i ditt child-themes functions.php fil. Det är viktigt att koden hamnar i ditt child-theme och inte parent-theme. Se till att du vet vad du gör när du redigerar sådana filer.
Fungerar koden fortfarande?
Låt mig gärna veta i kommentarerna om allt fungerade som förväntat. Koden är testad och verifierad med
- Följande teman: GeneratePress, Storefront och Flatsome.
- Woocommerce 4.7.0
- WordPress 5.5.3
- PHP 7+