BalticXML

Descripción

BalticXML is a lightweight WooCommerce extension that exports your product catalogue as XML feeds compatible with three Latvian price comparison engines:

All three feeds are generated and served from the same plugin at separate URLs, for example:

  • https://yoursite.com/salidzini-feed.xml
  • https://yoursite.com/kurpirkt-feed.xml
  • https://yoursite.com/ceno-feed.xml

Each feed is cached on disk for fast delivery and regenerated automatically via WP-Cron.

Features

  • Three independent XML feeds (salidzini.lv, kurpirkt.lv, ceno.lv) at their own URLs
  • Per-format cache files and a single shared WP-Cron schedule
  • Manual «Regenerate Feed Now» button rebuilds all feeds at once
  • Includes simple, variable (per-variation) and external products
  • Full category breadcrumb path (Parent > Child > Subchild)
  • Automatic brand / manufacturer detection from common taxonomies and attributes
  • Automatic EAN/GTIN detection from common meta keys
  • Out-of-stock filter
  • Customizable feed slug per portal
  • HPOS (High-Performance Order Storage) compatible
  • Translation ready

Feed Structures

salidzini.lv:

<?xml version="1.0" encoding="UTF-8"?>
<products>
  <product>
    <name><![CDATA[Brand Model 12345]]></name>
    <link>https://yoursite.com/product/...</link>
    <price>99.99</price>
    <category_full><![CDATA[Parent > Child]]></category_full>
    <category_link>https://yoursite.com/category/...</category_link>
    <image>https://yoursite.com/wp-content/uploads/...</image>
    <in_stock>5</in_stock>
    <brand><![CDATA[Brand]]></brand>
    <model><![CDATA[Model X]]></model>
    <color><![CDATA[Black]]></color>
    <mpn>ABC-123</mpn>
    <ean>1234567890123</ean>
  </product>
</products>

kurpirkt.lv:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <item>
    <name>Apple iPhone 13 PRO 512GB black</name>
    <link>https://yoursite.com/product/...</link>
    <price>1200.59</price>
    <image>https://yoursite.com/wp-content/uploads/...</image>
    <manufacturer>Apple</manufacturer>
    <category>Mobilie telefoni</category>
    <category_full>Sakaru līdzekļi > Mobilie telefoni</category_full>
    <category_link>https://yoursite.com/category/...</category_link>
    <in_stock>5</in_stock>
    <delivery_cost_riga>2.25</delivery_cost_riga>
    <used>0</used>
  </item>
</root>

ceno.lv:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <item>
    <name>Huawei P40 Pro Melns</name>
    <link>https://yoursite.com/product/...</link>
    <price>849.99</price>
    <price_sale>799.99</price_sale>
    <image>https://yoursite.com/wp-content/uploads/...</image>
    <manufacturer>Huawei</manufacturer>
    <model>P40 pro</model>
    <category>Mobilie telefoni</category>
    <category_full>Telefoni-plansetdatori > Mobilie telefoni</category_full>
    <category_link>https://yoursite.com/category/...</category_link>
    <in_stock>12</in_stock>
    <ean>6901443378944</ean>
    <used>0</used>
    <delivery_cost_riga>2.99</delivery_cost_riga>
    <delivery_latvija>5.99</delivery_latvija>
    <delivery_latvijas_pasts>1</delivery_latvijas_pasts>
    <delivery_omniva>1.50</delivery_omniva>
    <delivery_days_riga>4</delivery_days_riga>
    <delivery_days_latvija>6</delivery_days_latvija>
  </item>
</root>

Capturas

  • BalticXML settings page with all three feed URLs

Instalación

Automatic Installation

  1. Log in to your WordPress admin panel
  2. Navigate to Plugins > Add New
  3. Search for «BalticXML»
  4. Click «Install Now» and then «Activate»

Manual Installation

  1. Download the plugin ZIP file
  2. Go to Plugins > Add New > Upload Plugin
  3. Upload the ZIP file and click «Install Now»
  4. Activate the plugin

After Installation

  1. Make sure WooCommerce is installed and active
  2. Go to BalticXML in the admin menu
  3. Confirm the feed slugs and copy each feed URL
  4. Click «Regenerate Feed Now» to build the cache for the first time
  5. Submit each URL to the corresponding price comparison site

FAQ

What URLs do I submit?

Each portal has its own URL, all shown on the BalticXML settings page:

  • salidzini.lv -> https://yoursite.com/salidzini-feed.xml (default)
  • kurpirkt.lv -> https://yoursite.com/kurpirkt-feed.xml (default)
  • ceno.lv -> https://yoursite.com/ceno-feed.xml (default; email it to info@ceno.lv after configuring)

All slugs are configurable.

How often are the feeds updated?

All feeds are regenerated together on the same WP-Cron schedule. Default is daily; you can change it (hourly, every 6 hours, twice daily, daily, or disabled) in BalticXML settings.

Are out-of-stock products included?

By default they are excluded from all feeds. You can change this in BalticXML settings.

Are product variations included?

Yes – by default each variation is exported as a separate item in every feed, with the variation attributes appended to the name. You can disable this in settings.

How is the brand / manufacturer detected?

The plugin checks the product_brand, pwb-brand and pa_brand taxonomies, and the brand product attribute, in that order. The same source feeds <brand> (salidzini.lv) and <manufacturer> (kurpirkt.lv, ceno.lv).

How is the EAN/GTIN detected?

The plugin checks the meta keys _ean, _gtin, _global_unique_id, _wc_gla_gtin and the ean product attribute. (Used by salidzini.lv and ceno.lv. kurpirkt.lv does not require this field.)

How do I set the salidzini.lv-specific fields (`model`, `color`, `mpn`, `adult`, `over_the_counter_medicine`)?

Use the matching product attributes (model, color/colour, mpn, adult, over_the_counter_medicine) or the corresponding meta keys (_model, _color, _mpn, _adult, _over_the_counter_medicine / _otc). They are all optional – emitted only when set.

How do I set the kurpirkt.lv-specific fields (`delivery_cost_riga`, `used`)?

  • delivery_cost_riga – set the meta key _delivery_cost_riga or add a delivery_cost_riga product attribute (numeric).
  • used – set the meta key _used to 1 or add a used product attribute set to 1 / yes / true.

How do I set the ceno.lv delivery and used fields?

For each delivery field, set either a meta key prefixed with _ or a product attribute (without the prefix):

  • delivery_cost_riga, delivery_latvija – max delivery cost in Riga / Latvia (decimal)
  • delivery_latvijas_pasts, delivery_dpd_paku_bode, delivery_pasta_stacija, delivery_omniva, delivery_circlek, delivery_venipak – per-carrier delivery cost (decimal)
  • delivery_days_riga, delivery_days_latvija – max delivery days in Riga / Latvia (integer)
  • used – set to 1 for used / refurbished products

All ceno.lv fields are optional – they are emitted only when a numeric/non-empty value is configured.

Is it translation ready?

Yes. Text domain is balticxml.

Reseñas

No hay reseñas para este plugin.

Colaboradores y desarrolladores

«BalticXML» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

Traduce «BalticXML» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.0.0

  • Initial release
  • salidzini.lv compatible XML feed (<products>/<product> schema)
  • kurpirkt.lv compatible XML feed (<root>/<item> schema)
  • ceno.lv compatible XML feed (<root>/<item> schema with extended delivery fields)
  • Per-format cache files with shared WP-Cron regeneration
  • Simple, variable and external product support
  • Brand / manufacturer and EAN auto-detection
  • Customizable feed slugs per portal
  • HPOS compatible
  • Translation ready