Automazioni WordPress: box prodotti Amazon con link affiliato tramite API

14 Gennaio 2019

Usabilità dell’implementazione

Lo scopo del mio cliente era quello di compiere il minimo sforzo per poter mostrare dei prodotti correlati da Amazon a fondo articolo.

Allo stesso tempo, tuttavia, era necessario “comunicare” in qualche modo ad Amazon la keyword con cui filtrare i prodotti che sono mostrati, bloccando la categoria a “VideoGames”, visto che è quello l’argomento del sito.

Ho quindi creato, utilizzando Meta Box, che è un plugin che consente agli sviluppatori di aggiungere campi personalizzati velocemente, un campo apposito lato amministratore che chi scrive gli articoli può compilare:

(PS: se sei un developer, ti consiglio di leggere questo articolo per vedere più nel dettaglio come ho fatto. Per poter raggiungere questo risultato avrei potuto usare anche Pods o ACF | Advanced Custom Fields)

A questo punto ho optato per un ragionamento a esclusioni, ossia:

  • Se l’autore compila quel campo, la ricerca tra i prodotti Amazon si fa usando quella keyword;
  • Se il campo non è stato compilato, usa invece la keyword impostata su Yoast;
  • Se nessuna keyword è stata impostata su Yoast, usa l’ultimo tag dell’articolo;
  • Se nessun tag è stato assegnato all’articolo, fai una ricerca generica usando la parola chiave “Retro Game”.
if ($keywordamazon != '') {
	$amazon_keyword = $keywordamazon; // Caso #1
} else if ($yoast_kw != '') {
	$amazon_keyword = $yoast_kw; // Caso #2
} else if ($tagarticolo != NULL) {
	$amazon_keyword = $tagarticolo; // Caso #3
} else {
	$amazon_keyword = 'Retro Game'; // Caso #4
}

Questa scelta mi ha consentito di comunicare sempre ad Amazon, tramite le famose Product Advertising API e sfruttando una libreria chiamata ApaiIO, almeno una keyword di ricerca, visto che è un requisito obbligatorio, per poi scorrere tutti i risultati uno ad uno e stamparli a schermo.

$search = new Search(); // Creo istanza dell'oggetto di ricerca
$search->setCategory('VideoGames'); // Blocco la categoria
$search->setKeywords($amazon_keyword); // Passo la keyword
$search->setResponsegroup(array('Large', 'Images', 'ItemAttributes', 'Offers')); // Passo i dati che mi servonjo
$formattedResponse = $apaiIO->runOperation($search); // Eseguo la ricerca
$subresp = $formattedResponse['Items']['Item']; // Salvo i risultati

Il risultato: l’autore dell’articolo non deve preoccuparsi di inserire ogni volta, manualmente, i link affiliato Amazon, ma soltanto una keyword (se lo desidera, altrimenti entrano in gioco le alternative descritte poc’anzi) perché apparirà a fondo pagina un comodissimo box con tutti i prodotti correlati.

Una risposta

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.