Úplně jednoduchý XML feed pro pár produktů v pevně daných kategoriích.
<?php
/* Filtr pro přidání nového XML feedu */
add_filter('init','gog_heureka_feed_init');
function tyche_child_heureka_feed_init() {
add_feed('heureka-feed','gog_heureka_feed');
}
/* Zde generuji XML feed */
function gog_heureka_feed() {
header("Content-type: text/xml");
$args = array(
'category' => array('brzdove-desticky', 'helmy-na-motorku', 'gufera', 'olejove-filtry'),
'orderby' => 'name',
'status' => 'publish',
'limit' => -1
);
$products = wc_get_products($args);
echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
echo "<SHOP>\n";
foreach ($products as $p) {
$description = trim(str_replace(' ', '', strip_tags(strip_shortcodes($p->short_description))));
$url = get_permalink($p->id);
$image = wp_get_attachment_image_src($p->image_id, 'full');
$delivery = ($p->stock_quantity ? 0 : 7);
$manufacturer = $p->get_attribute('pa_vyrobce');
$product_cat = get_the_terms($p->id, 'product_cat');
foreach ($product_cat as $cat) {
switch ($cat->slug) {
case 'brzdove-desticky': $category = 'Auto-moto | Autodíly | Brzdové destičky a čelisti'; break;
case 'helmy-na-motorku': $category = 'Auto-moto | Příslušenství pro motocykly | Helmy na motorku'; break;
case 'gufera': $category = 'Auto-moto | Náhradní díly pro motocykly | Gufera do motoru'; break;
case 'olejove-filtry': $category = 'Auto-moto | Autodíly | Olejové filtry pro automobily'; break;
}
}
if ($category && $manufacturer && $p->price) {
echo "\t<SHOPITEM>\n";
echo "\t\t<ITEM_ID>" . $p->id . "</ITEM_ID>\n";
echo "\t\t<PRODUCTNAME>" . $p->name . "</PRODUCTNAME>\n";
echo "\t\t<PRODUCT>" . $p->name . "</PRODUCT>\n";
echo "\t\t<DESCRIPTION>" . $description . "</DESCRIPTION>\n";
echo "\t\t<URL>" . $url . "</URL>\n";
echo "\t\t<IMGURL>" . $image[0] . "</IMGURL>\n";
foreach ($p->gallery_image_ids as $img_id) {
echo "\t\t<IMGURL_ALTERNATIVE>" . wp_get_attachment_image_src($img_id, 'full')[0] . "</IMGURL_ALTERNATIVE>\n";
}
echo "\t\t<PRICE_VAT>" . $p->price . "</PRICE_VAT>\n";
echo "\t\t<MANUFACTURER>" . $manufacturer . "</MANUFACTURER>\n";
echo "\t\t<CATEGORYTEXT>" . $category . "</CATEGORYTEXT>\n";
echo "\t\t<DELIVERY_DATE>" . $delivery . "</DELIVERY_DATE>\n";
echo "\t\t<DELIVERY>\n";
echo "\t\t\t<DELIVERY_ID>CESKA_POSTA</DELIVERY_ID>\n";
echo "\t\t\t<DELIVERY_PRICE>100</DELIVERY_PRICE>\n";
echo "\t\t\t<DELIVERY_PRICE_COD>125</DELIVERY_PRICE_COD>\n";
echo "\t\t</DELIVERY>\n";
echo "\t\t<DELIVERY>\n";
echo "\t\t\t<DELIVERY_ID>ZASILKOVNA</DELIVERY_ID>\n";
echo "\t\t\t<DELIVERY_PRICE>65</DELIVERY_PRICE>\n";
echo "\t\t\t<DELIVERY_PRICE_COD>90</DELIVERY_PRICE_COD>\n";
echo "\t\t</DELIVERY>\n";
echo "\t</SHOPITEM>\n";
echo "\n";
}
}
echo "</SHOP>";
exit;
}
?>