Producten direct linken naar de adverteerder

Nu we een WooCommerce child hebben aangemaakt en snappen hoe de structuur werkt, gaan we de shop aanpassen zodat de catalogus direct naar de affiliate shop linkt en we dus een WooCommerce shop krijgen zonder detailpagina’s.

[content_box color=”#e3007e”]Deze tutorial bestaat uit 3 delen, dit is deel 3. Lees verder of klik direct op een van de tutorials om door te gaan.

Introductie – Affiliate webshop maken met WordPress en WooCommerce
Deel 1 – Een child-theme opzetten in WordPress
Deel 2 – Een WooCommerce child maken
Deel 3 – Producten direct linken naar de adverteerder
[/content_box]

Hiervoor hebben we 2 bestanden uit de originele WooCommerce map nodig, of uit de WooCommerce map uit je thema als deze bestaat (zie uitleg stap 2).

Het betreft de bestanden:

wp-content/plugins/woocommerce/content-product.php en wp-content/plugins/woocommerce/templates/loop/add-to-cart.php

Kopier deze naar je child-theme, en wel naar de mappen:

wp-content/plugins/woocommerce/content-product.php —> wp-content/themes/THEMA-child/woocommerce

wp-content/plugins/woocommerce/templates/loop/add-to-cart.php —> wp-content/themes/THEMA-child/woocommerce/loop/ (zonder de map templates, zie uitleg stap 2).

Nu gaan we de bestanden aanpassen. Laten we beginnen met add-to-cart.php

Vervang (regel 12)

global $product;
?>

door:

global $product;
if(!is_single()) $product_url = get_post_meta( $product->id, '_product_url', true );
if(empty($product_url)) $product_url = get_permalink();
?>

Vervang vervolgens

case "external" :
$link['url'] = apply_filters( 'external_add_to_cart_url', get_permalink( $product->id ) );
$link['label'] = apply_filters( 'external_add_to_cart_text', __( 'Read More', 'woocommerce' ) );
break;

door de code:

case "external" :
$link['url'] = esc_url ($product_url) ;
$link['label'] = "Bestel";
break;

Dit zorgt ervoor dat het product gaat linken naar de site van de adverteerder. Sla het bestand in de juiste map (wp-content/themes/THEMA-child/woocommerce/loop/) op.

De knop op de catalogus pagina verwijst nu direct naar de adverteerder, echter verwijst het plaatje en de omschrijving nog wel naar de detailpagina. Je kan nu twee dingen doen: of de foto en titel ook laten linken naar de adverteerder. Of om de link helemaal weg te halen. We beginnen met optie 1: open je het bestand content-product.php

Vervang

global $product;
?>

door:

global $product;
if(!is_single()) $product_url = get_post_meta( $product->id, '_product_url', true );
if(empty($product_url)) $product_url = get_permalink();
?>

Ga nu naar regel 42 en verander deze van

<a href="<?php the_permalink(); ?>">

naar

<a href="<?php echo $product_url; ?>">

Sla het bestand op en zorg dat deze in de juiste map (wp-content/themes/THEMA-child/woocommerce) terecht komt.

Optie 2: de link achter de foto’s en titels op de catalogus pagina weghalen. open je het bestand content-product.php

Ga naar regel 42 en verwijder:

<a href="<?php the_permalink(); ?>">

Haal ook de </a> weg op regel 65. De links achter de productfoto’s zijn nu verwijderd.

Sla het bestand op in de juiste map: wp-content/themes/THEMA-child/woocommerce

Woocommerce geen detail paginaGefeliciteerd, je hebt de webshop zo ingericht dat deze perfect is voor een affiliatewinkel: de webshop in WooCommerce linkt direct door naar de adverteerderspagina en er zijn geen detailpagina’s meer.

Wil je tenslotte dat je links in je WooCommerce webshop ook nog openen in een nieuw scherm? Installeer dan de plugin http://wordpress.org/plugins/woocommerce-improved-external-products/

3 reacties op “Producten direct linken naar de adverteerder”

  1. Mooi gedaan. Hoe krijg ik de titel van de link zoals die in de product pagina is weergegeven, bijv. “bestel bij Zalando”?

Laat een reactie achter

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