Een redirect na aankoop van een specifiek product

Hoe zorg je ervoor, dat na aankoop van een product iemand naar een specifieke pagina gaat?

Wil je direct een mail ontvangen wanneer nieuwe snippets zijn toegevoegd?

Vul dan onderstaand formulier in en je krijgt direct na het toevoegen van nieuwe snippets een email. Zo blijf je altijd bij!

Soms wil je na de aankoop van een product een specifieke pagina tonen. Bijvoorbeeld in verband met een upsell zoals besproken in een eerder blogartikel.

Een belangrijk beslispunt om te nemen is, of je ook naar een andere pagina wilt redirecten, indien er meerdere producten in de winkelwagen zitten. In onderstaand voorbeeld ga ik ervan uit, dat je dit alleen wilt indien het beoogde product uitsluitend in de winkelwagen voorkomt. Mocht je anders willen, zal je de code wat aan moeten passen. Dat komt er in grote lijnen op neer op het verwijderen van alle referenties naar $others_found… of simpelweg de $others_found uit de laatste conditional te verwijderen.

<?php
add_action( 'template_redirect', 'wxp_custom_redirect_after_purchase' );
function wxp_custom_redirect_after_purchase($order_id) {
    if ( ! is_wc_endpoint_url( 'order-received' ) ) 
        return;


    $order = wc_get_order( $order_id ); 

    if ($order->has_status('failed')) return;

    $targeted_found = $others_found = false; 
    $url_found = '';


    foreach( $order->get_items() as $item ){
        if( $item->get_product_id() == 11  ) {
            $targeted_found = true;
            $url_found = '/product-11/';
        } elseif (  $item->get_product_id() == 12  ) {
            if ($targeted_found) $others_found = true;
            $targeted_found = true;
            $url_found = '/product-12/';
        } elseif (  $item->get_product_id() == 13  ) {
            if ($targeted_found) $others_found = true;
            $targeted_found = true;
            $url_found = '/product-13/';

        } else {
            $others_found = true;
        }
    }

    // Enable redirection when only targeted product(s) are exclusively in the order
    if( $targeted_found && ! $others_found ){
        wp_redirect( home_url( $url_found ) );
        exit;
    }
}

Vervang in de code hierboven de product ID’s door de product ID’s waar je een doorverwijzing voor wilt hebben, de URL’s door de bijbehorende URL’s en test het goed uit.

Succes!

Codesnippet verbeteren

Het doel van deze code snippet is een probleem op te lossen in een specifieke situatie. Daarom zie je regelmatig voorbeelden waar je specifiek tekst moet aanpassen om te krijgen wat je wilt. 

Wil jij leren hoe je complete plugins zelf kunt programmeren inclusief ‘admin’ schermen voor het instellen en de output in de gewenste taal, dan is misschien de cursus ‘Introductiecursus Plugins Programmeren‘ iets voor jou. 

Wil je als ‘full stack’ WordPress programmeur aan de gang gaan, dan biedt WordXPression ook een compleet traject ‘WordPress Developer‘ aan. Dit is een traject wat deels online, deels klassikaal wordt gegeven.

WordPress Developer worden?

Wil je leren hoe je zelf plugins, thema's, shortcodes, widgets, Gutenberg blocks en meer kan maken?
Schrijf je dan in voor de cursus WordPress Developer.

Meer snippets

Query filtering in Elementor Pro
Wanneer je in Elementor Pro widgets kijkt waarmee je posts op een pagina of in een template kunt laten...
Een regel tekst boven of onder een blogpost plaatsen
Een standaard regel (of) blok tekst boven of onder je blogpost plaatsen valt eigenlijk best wel mee....
In WooCommerce de prijs psychologisch aantrekkelijk tonen
Enkele handige code snippets om je productprijs te formatteren.
De presentatie van variabele producten hun prijs verbeteren
Een variabel product wordt in WooCommerce weergegeven als een prijs €100-€250 in plaats van 'vanaf €...
Een extra product veld toevoegen aan WooCommerce
Een aantal velden toevoegen aan een product is eigenlijk helemaal niet zo moeilijk. Ik laat je precies...
Op Woensdag alle pizza's voor 7 euro! (WooCommerce)
Een leuke uitdaging. Een klant wilde een aanpassing op WooCommerce om op specifieke weekdagen andere...

Veiligheid voor alles!

Met betrekking tot de code die je hier aantreft een aantal waarschuwingen, voordat je deze code snippets toepast op je eigen website.

  1. Voer de code nooit direct uit op je eigen website, maar probeer deze eerst op een staging omgeving of een locale kopie van je website. 
  2. Voor je de geteste code installeert op je website, maak eerst een back up van je website.
  3. Zorg altijd voor alle zekerheid, dat je voor je een aanpassing live zet, je ook de FTP gegevens van je website bij de hand hebt.  
 
Voel je je onvoldoende vertrouwd met het toepassen van een dergelijke code snippet, bedenk dat je dit ook door een professional kan laten doen. De WordXPression support strippenkaart is een voordelige manier om dit soort aanpassingen te laten doen.
Heeft dit artikel je geholpen je probleem op te lossen?
Deel het met je vrienden via je favoriete social media.

Heb je vragen bij, of opmerkingen over deze code snippet, stel deze bij de commentaren hieronder.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Word je website de baas. Neem vandaag nog contact op!

Contact Informatie

Helaas is telefoonspam een serieus probleem geworden. Omdat ik dagelijks tientallen ‘spam’ en ‘scam’ telefoontjes ontving, heb ik mijn telefoonnummer van de site verwijderd. 

Wanneer je echter het formulier hiernaast invult, en aangeeft dat je per telefoon contact op wilt nemen, maak ik graag een belafspraak met je op een moment wat ons beiden past. En krijg je gewoon het telefoonnummer van WordXPression, zodat je ieder moment kan bellen.

WordXPression 

Aardoliestraat 14-I 7553GT Hengelo

KVK : 75580152 

Stuur een bericht