Pro vývojáře
Filtry
Section titled “Filtry”wpify_woo_xml_feed_heureka_item_data
Section titled “wpify_woo_xml_feed_heureka_item_data”Hlavní filtr pro úpravu nebo doplnění dat produktu ve feedu.
add_filter( 'wpify_woo_xml_feed_heureka_item_data', function( $data, $product, $parent_product ) { // Úprava dat return $data;}, 10, 3 );| Parametr | Typ | Popis |
|---|---|---|
$data | array | Data produktu pro XML |
$product | WC_Product | Produkt (varianta pokud existuje) |
$parent_product | WC_Product | Hlavní produkt |
Vrací: array
Příklady použití
Section titled “Příklady použití”Použití krátkého popisu:
add_filter( 'wpify_woo_xml_feed_heureka_item_data', function( $data, $product, $parent_product ) { if ( $product->get_short_description() ) { $data['DESCRIPTION'] = array( '_cdata' => $product->get_short_description() ); } elseif ( $parent_product->get_short_description() ) { $data['DESCRIPTION'] = array( '_cdata' => $parent_product->get_short_description() ); } return $data;}, 10, 3 );Přidání MANUFACTURER:
add_filter( 'wpify_woo_xml_feed_heureka_item_data', function( $data, $product ) { $manufacturer = $product->get_attribute( 'vyrobce' ); if ( $manufacturer ) { $data['MANUFACTURER'] = array( '_cdata' => $manufacturer ); } return $data;}, 10, 2 );Doprava zdarma nad 1500 Kč:
add_filter( 'wpify_woo_xml_feed_heureka_item_data', function( $data, $product ) { if ( $product->get_price() > 1500 ) { 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;}, 10, 2 );Přidání alternativních obrázků:
add_filter( 'wpify_woo_xml_feed_heureka_item_data', function( $data, $product ) { $gallery_ids = $product->get_gallery_image_ids(); foreach ( $gallery_ids as $id ) { $data['__custom:IMGURL_ALTERNATIVE:' . $id] = array( '_cdata' => wp_get_attachment_url( $id ) ); } return $data;}, 10, 2 );wpify_woo_xml_heureka_skip_product
Section titled “wpify_woo_xml_heureka_skip_product”Filtr pro vyloučení produktu z feedu.
add_filter( 'wpify_woo_xml_heureka_skip_product', function( $skip, $product ) { // Vrátit true pro vyloučení return $skip;}, 10, 2 );| Parametr | Typ | Popis |
|---|---|---|
$skip | bool | false výchozí (nezařadit) |
$product | WC_Product | Produkt |
Vrací: bool - true pro vyloučení
Příklady použití
Section titled “Příklady použití”Vyloučení dle ID:
add_filter( 'wpify_woo_xml_heureka_skip_product', function( $skip, $product ) { return in_array( $product->get_id(), array( 19, 20, 21 ) );}, 10, 2 );Vyloučení dle kategorie:
add_filter( 'wpify_woo_xml_heureka_skip_product', function( $skip, $product ) { $excluded = array( 15, 16 ); // ID kategorií return count( array_intersect( $excluded, $product->get_category_ids() ) ) > 0;}, 10, 2 );Filtrování dle jazyka (Polylang):
add_filter( 'wpify_woo_xml_heureka_skip_product', function( $skip, $product ) { if ( ! function_exists( 'pll_get_post_language' ) ) { return $skip; }
$desired_lang = 'cs'; // Jazyk pro feed (cs, sk, en, ...) $product_lang = pll_get_post_language( $product->get_id(), 'slug' );
// Vyloučit produkty v jiném jazyce if ( $product_lang && $product_lang !== $desired_lang ) { return true; }
return $skip;}, 10, 2 );Filtrování dle jazyka (WPML):
add_filter( 'wpify_woo_xml_heureka_skip_product', function( $skip, $product ) { $desired_lang = 'cs'; // Jazyk pro feed $product_lang = apply_filters( 'wpml_post_language_details', null, $product->get_id() );
if ( $product_lang && isset( $product_lang['language_code'] ) && $product_lang['language_code'] !== $desired_lang ) { return true; }
return $skip;}, 10, 2 );wpify_woo_feed_products_per_page
Section titled “wpify_woo_feed_products_per_page”Upravuje počet produktů zpracovaných v jednom kroku generování.
add_filter( 'wpify_woo_feed_products_per_page', function( $count ) { return 20; // Výchozí je 100} );| Parametr | Typ | Popis |
|---|---|---|
$count | int | Počet produktů (výchozí 100) |
Vrací: int
wpify_woo_feed_heureka_categories_lang
Section titled “wpify_woo_feed_heureka_categories_lang”Upravuje jazyk pro načítání Heureka kategorií.
add_filter( 'wpify_woo_feed_heureka_categories_lang', function( $lang ) { return 'sk'; // Výchozí je 'cz'} );wpify_heureka_categories_assignment
Section titled “wpify_heureka_categories_assignment”Upravuje argumenty pro načítání WooCommerce kategorií při mapování.
add_filter( 'wpify_heureka_categories_assignment', function( $args ) { $args['hide_empty'] = true; // Skrýt prázdné kategorie return $args;} );Meta klíče produktu
Section titled “Meta klíče produktu”| Pole | Meta klíč |
|---|---|
| Název produktu Heureka | _wpify_woo_heureka_product_name |
| Produkt Heureka | _wpify_woo_heureka_product |
| Kategorie Heureka | _wpify_woo_heureka_category |
Specifikace XML feedu
Section titled “Specifikace XML feedu”Kompletní seznam podporovaných tagů najdete ve specifikaci XML souboru Heureky.