Een redirect na aankoop van een specifiek product

Een redirect na aankoop van een specifiek product

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

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;
        }
    }


    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!

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

Laat zien wanneer een product al in de winkelwagen is
Laat je klant zien, dat een product al in de winkelwagen is geplaatst.
Shortcodes voor het tonen en verbergen van content
Hoe maak ik een shortcode waarmee ik content van mijn posts kan verbergen?
Stuur je bezoeker naar een 'dank je' pagina na commentaar
In enkele regels stuur je je bezoeker naar een 'bedankt pagina'.
Hoe maak ik zelf een shortcode?
Bij het live gaan van de snippet base vroeg ik in mijn nieuwsbrief aan mijn lezers, of ze suggesties...
WooCommerce tabbladen onder elkaar zetten
Heb je wel eens een grote webshop gezien met product tabs? Precies. En daarom willen wij onze WooCommerce...
jQuery Migrate verwijderen voor meer snelheid
Voor de meeste WordPress websites is jQuery Migrate al heel lang niet meer nodig. Je kan enigszins de...

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 antwoord

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

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

Contact Information

WordXPression 
Imkersdreef 525
7328DG Apeldoorn
06-10449807 (van 9:00 tot 17:00 van ma-vr)

KVK : 75580152 

Social media
Stuur een bericht