Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the simple-custom-post-order domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/staging.wpify.io/web/wp/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the woocommerce domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/staging.wpify.io/web/wp/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the woocommerce-subscriptions domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/staging.wpify.io/web/wp/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wpify-woo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/staging.wpify.io/web/wp/wp-includes/functions.php on line 6114
Úprava nebo doplnění feedu o další tagy – WPify

Dokumentace

Úprava nebo doplnění feedu o další tagy

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 );