Tahák k tvorbě webů

WooCommerce

XML feed pro Heureka.cz

Ú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('&nbsp;', '', 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;
}
?>