Navigace
- Propisovat do <DESCRIPTION> krátký popis produktu namísto dlouhého
- Přidání tagu <MANUFACTURER> z vlastnosti produktu
- Doprava zdarma pro produkty od určité ceny
- Přidání tagu <IMGURL_ALTERNATIVE> s obrázky z galerie
Data pro generování tagů je možné přidat nebo upravit stávající pomocí připraveného filtru:
apply_filters( 'wpify_woo_xml_feed_heureka_item_data', $data, $product, $parent_product );
Pomocí tohoto filtru můžete přidat jakýkoliv další tag feedu pomocí snippetu. Jaké tagy Heuréka podporuje naleznete ve Specifikaci XML souboru Heuréky. Nebo upravit stávající tagy.
Zde je několik příkladů:
Propisovat do <DESCRIPTION> krátký popis produktu namísto dlouhého
/** * @param $data * @param \WC_Product $product * @param $parent_product * * @return array */ function custom_xml_feed_heureka_item_data( $data, $product, $parent_product ): array { if ($product->get_short_description()) { $data['DESCRIPTION'] = array( '_cdata' => $product->get_short_description() ); } else if ($parent_product->get_short_description()) { $data['DESCRIPTION'] = array( '_cdata' => $parent_product->get_short_description() ); } return $data; } add_filter( 'wpify_woo_xml_feed_heureka_item_data', 'custom_xml_feed_heureka_item_data', 10, 3 );
Přidání tagu <MANUFACTURER> z vlastnosti produktu
/** * @param $data * @param \WC_Product $product * * @return array */ function custom_xml_feed_heureka_item_data( $data, $product ): array { $vyrobce = $product->get_attribute( 'vyrobce' ); // identifikátor vlastnosti upravte tak jak ji máte na vašem eshopu if ( $vyrobce ) { $data['MANUFACTURER'] = array( '_cdata' => $vyrobce ); } return $data; } add_filter( 'wpify_woo_xml_feed_heureka_item_data', 'custom_xml_feed_heureka_item_data', 10, 2 );
Doprava zdarma pro produkty od určité ceny
V tomto konkrétním případě je nastaveno, že u produktů s vyšší cenou než 1500 bude dopravní metoda Zásilkovna za 0 a v případě dobírky bude cena dopravy 30.
/** * @param $data * @param \WC_Product $product * * @return array */ function custom_xml_feed_heureka_item_data( $data, $product ): array { if ( $product->get_price() > 1500 ) { // Je-li cena produktu vyšší než daná hodnota foreach ( $data as $key => $item ) { if (strpos($key, '__custom:DELIVERY') !== false && $item['DELIVERY_ID'] === 'ZASILKOVNA') { $data[$key]['DELIVERY_PRICE'] = 0; $data[$key]['DELIVERY_PRICE_COD'] = 30; } } } return $data; } add_filter( 'wpify_woo_xml_feed_heureka_item_data', 'custom_xml_feed_heureka_item_data', 10, 2 );
Pokud chcete nastavit dopravu pro jinou dopravní metodu upravte identifikátor ZASILKOVNA
na požadovanou metodu. Identifikátor dopravy naleznete v nastavení doprav pro XML feed (WooCommerce > Nastavení > Wpify Woo > XML Feed Heureka)
Přidání tagu <IMGURL_ALTERNATIVE> s obrázky z galerie
Tento snippet vytvoří pro každý obrázek z galerie produktu vlastní nový tag <IMGURL_ALTERNATIVE>.
/** * @param $data * @param \WC_Product $product * * @return array */ function custom_xml_feed_heureka_item_data( $data, $product ): array { $attachment_ids = $product->get_gallery_image_ids(); if ( $attachment_ids ) { foreach ( $attachment_ids as $attachment_id ) { $data[ '__custom:IMGURL_ALTERNATIVE:' . rand() ] = array( '_cdata' => wp_get_attachment_url( $attachment_id ) ); } } return $data; } add_filter( 'wpify_woo_xml_feed_heureka_item_data', 'custom_xml_feed_heureka_item_data', 10, 2 );