Plugin koji čupa sa regionalnih amazona sliku ime proizvoda cijenu

fali mi prodaja za Amazonov API za švedsku i ne mogu zbog toga koristit aawp plugin jer su potrebne dvije prodaje da bi se dobio pristup apiju za određenu zemlju. ovaj standardni api ne radi sa regionalnim amazonima. i onda ja pošto mislim sa AI zaspamat regionalne zemlje odlučim i uz pomoć AI napravit plugin koji će da skrapuje sliku title cijenu da ubaci moj affiliate tag i button. i malo po malo chatgpt mi je složio uz jasna upustva plugin koji to radi pa ako kome treba evo koda

<?php
/*
Plugin Name: Custom Amazon Product Box
Description: Fetches and displays product details from Amazon.se with affiliate link, designed for AMP compatibility.
Version: 1.0
Author: Your Name
*/

// Register shortcode to display the Amazon product box
add_shortcode('amazon_product_box', 'render_amazon_product_box');

function render_amazon_product_box($atts) {
    // Extract attributes from shortcode
    $atts = shortcode_atts([
        'url' => '', // Amazon product URL
		'description' => '', // Manual meta description
    ], $atts, 'amazon_product_box');

    if (empty($atts['url'])) {
        return 'Amazon product URL is required.';
    }

    // Fetch product details from Amazon
    $productDetails = fetch_amazon_product_details($atts['url']);

    // Generate AMP compatible HTML for the product box
	$output = '<div class="amazon-product-box" style="margin-top: 20px; margin-bottom: 20px; border-bottom: 2px solid #ccc;">';
    $output .= '<amp-img src="'.esc_url($productDetails['image_url']).'" width="300" height="300" layout="fixed" class="center-image"></amp-img>';
    $output .= '<h3 style="text-align: left;">'.esc_html($productDetails['title']).'</h3>';
	$output .= '<p style="text-align: left;">'.esc_html($atts['description']).'</p>'; // Dodajemo deskripciju ispod naslova
    $output .= '<a href="'.esc_url(add_query_arg('tag', 'YOUR_AFFILIATE_TAG', $atts['url'])).'" target="_blank" rel="nofollow" style="background-color: #0a0a0a; border: 3px solid #FFF300; border-radius: 7px; padding: 10px 20px; text-align: center; color: #fff300; display: inline-block; font-size: 21px; text-decoration: none; box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19); transition: background-color 0.3s, color 0.3s;" class="amazon-buy-button">Köp på Amazon.se</a>';
	$output .= '<p style="text-align: right;">'.esc_html($productDetails['price']).'</p>';
    $output .= '</div>';
    $output .= '<style>.amazon-product-box { text-align: center; } .amazon-product-box amp-img { display: inline-block; }</style>';

    return $output;
}

function fetch_amazon_product_details($url) {
    // Initialize cURL session
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)');

    $html = curl_exec($ch);
    curl_close($ch);

    // Parse the HTML content of the page
    $doc = new DOMDocument();
    @$doc->loadHTML($html);
    $xpath = new DOMXPath($doc);

    // Fetch the title, price, and main image using XPath
    $titleNode = $xpath->query('//span[@id="productTitle"]');
    $title = $titleNode->length > 0 ? trim($titleNode->item(0)->nodeValue) : 'Title not found';

    $priceNode = $xpath->query('//span[contains(@class, "a-price-whole")]');
    $price = $priceNode->length > 0 ? trim($priceNode->item(0)->nodeValue) . ' kr' : 'Price not available'; // Adjust the currency as needed

    $imageNode = $xpath->query('//img[@id="landingImage"]');
    $imageUrl = $imageNode->length > 0 ? $imageNode->item(0)->getAttribute('src') : '';

    return [
        'title' => $title,
        'price' => $price,
        'image_url' => $imageUrl,
    ];
}

evo ovdje u zip rar formatu. dakle upload plugina ide ko i standarno svakog plugina.

https://file.io/rErlOy0RNWck

šta plugin radi i kako to izgleda. dakle plugin radi sa švedskim amazonom i linkovima sa švedskog amazona (radi i sa poljskim, sa njemačkim amazonom ne radi). evo kako izgleda

evo još jedna slika

evo i na mobu kako izgleda

plugin radi preko šortkoda koji trebate popuniti
[amazon_product_box url=“url-proizvoda” affiliate_tag=“my-affiliate-tag” description=“vaš opis”]

primjer popunjenog šortkoda

[amazon_product_box url="https://www.amazon.se/co2CREA-Resef%C3%B6rvaringskl%C3%A4der-SRS-XB12-SRS-XB13-Bluetooth-h%C3%B6gtalare/dp/B07QPJ9QBV" affiliate_tag="my-affiliate-tag" description="Sometimes we need a little reminder of our own awesomeness. The book contains close to 200 inspirational quotes and messages from 20 different artists. You can tear them out and put them anywhere to brighten your day."]

Deskripcija se ubacuje manualno jer sam tako radio i sa aawp da bi sadržaj bio unikatan. ono što sam uradio oko stilizovanja (tj chatgpt ja sam samo promptovo) da centrira sliku, da budu dimenzije slike 300*300 da desno baci cijenu, da stavi ovaj border ispod i razdvoji malo proizvode. uglavnom ništa previše komplikovano. viđeh da radi i sa poljskim amazonom (sa njemačkim ne, vjerovatno id product title slike cijene su različito imenovani/označeni.

sad se dovijam kako da iščupam npr listu poklona tj samo url sa amazona švedskog. chatgpt4 sa pluginima radi to, ali radi izrazito loše, gemini ne daje linkove, ne želi da promoviše webšopove, sam chatgpt4 isto ne želi da da linkove i veli da ima probleme sa pretraživanjem. oni chatgpt4 plugini oko browsera rade ali samo daju baš one poklone sa istovjetnim imenom (npr za godišnjicu samo proizvode što u titlu imaju riječ godišnjica što na kraju izgleda očajno)

uglavnom što se tiče plugina ne znam oće li kome koristit ali eto da podjelim. može se on još štelovat i još funkcija dodavat, meni za sad nije trebalo više od ovoga, čak bih možda i cijenu ovu u švedskim krunama mogao skloniti jer je promjenjiva, a ovako povučena neće se mjenjati. što se tiče ovog dugmeta za kupovinu može se lako stilizovat da drugačije izgleda.

da samo skontam kao da povadim i u jednom kliku povučem potrebne linkove sa lokalnih amazona tipa švedski poljski i ostali i moglo bi se sa 2-4 klika imati vrlo solidan listicle članak za regionalne amazone, dal sa poklonima ili neke druge liste nije bitno.

1 Like