Tested Updated Perfect rating

Product XML Feeds for WooCommerce

(2 customer reviews)

From: $19.99 / year

Automatic product XML feeds for WooCommerce.

Clear

Description

Product XML Feeds for WooCommerce plugin lets you add multiple WooCommerce product XML feeds. Each feed can be configured separately. Feeds are automatically periodically regenerated using crons.

You can set custom XML templates for the feed. Feeds are created using plugin’s shortcodes. Different templates can be set for:

  • XML header.
  • XML item.
  • XML footer.

In addition you can set custom XML file path and name.

To include only certain products in feed, you can use these options:

  • Products to include/exclude.
  • Product categories to include/exclude.
  • Product tags to include/exclude.
  • Variable products: Variable products only; Variation products only; Both variable and variation products.
  • Products scope: All products; Only products that are on sale; Only products that are not on sale; Only products that are featured; Only products that are not featured.
  • Stock status: In stock products; Out of stock products; On backorder products.
  • Min and max product prices.
  • Catalog visibility: Shop and search results; Shop only; Search results only; Hidden products.

You can also choose the update (i.e. regeneration) period (weekly by default): Every minute; Hourly; Twice daily; Daily; Weekly.

Plugin is WPML compatible. I.e. you can create separate product feeds for each language.



Examples

Here is the example of “Google Merchant” compatible XML feed:

XML header

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
	<channel>
		<title>The name of your data feed</title>
		<link>http://www.example.com</link> 
		<description>A description of your content</description>

XML item

		<item>
			<title>[alg_product_title]</title>
			<link>[alg_product_url]</link>
			<description>[alg_product_short_description]</description>
			<g:image_link>[alg_product_image_url]</g:image_link>
			<g:price>[alg_product_price]</g:price>
			<g:condition>new</g:condition>
			<g:id>[alg_product_sku]</g:id>
		</item>

XML footer

	</channel>
</rss>

Another similar example with CDATA:

XML header

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
	<channel>
		<title><![CDATA[ The name of your data feed ]]></title>
		<link><![CDATA[ http://www.example.com ]]></link> 
		<description><![CDATA[ A description of your content ]]></description>

XML item

Please note that when you are using a shortcode in CDATA, you need to replace first “less than sign” with its code, i.e.: <![CDATA to &lt;![CDATA.

		<item>
			<g:id>[alg_product_sku]</g:id>
			<title>&lt;![CDATA[ [alg_product_title] ]]></title>
			<description>&lt;![CDATA[ [alg_product_short_description] ]]></description>
			<g:google_product_category>&lt;![CDATA[ [alg_product_categories] ]]></g:google_product_category>
			<link>[alg_product_url]</link>
			<g:image_link>[alg_product_image_url]</g:image_link>
			<g:price>[alg_product_price]</g:price>
			<g:condition>new</g:condition>
		</item>

XML footer

	</channel>
</rss>
Shortcodes are not allowed in HTML attributes in WordPress, so in case if you need to use the shortcodes in e.g. element’s ID, you need to replace quotes " with HTML symbol code &quot;, e.g.:

<item id=&quot;[alg_product_id]&quot;>

This will output “normal” quotes in resulting XML, e.g.:

<item id="123456">
Although plugin is designed to create XML feeds, you can also output it in different formats, e.g. CSV, by setting XML item option to something like this:

[alg_product_sku];[alg_product_title];[alg_product_url];[alg_product_price];

Shortcodes

Global Shortcode Attributes

In addition to shortcode specific attributes, which are listed in section below, there are common (i.e. global) shortcode attributes, which can be used with any of the shortcodes:

before – Will be added at the beginning of final result in case if the resulting value is not empty. Default value: None.
after – Will be added at the end of final result in case if the resulting value is not empty. Default value: None.

find – Should be used with “replace” attribute to make replacements in final result. Default value: None.
replace – Should be used with “find” attribute to make replacements in final result. Default value: None.
find_replace_sep – Should be used with “find” and “replace” attributes in case if you want to find and replace multiple values at once. Default value: None.

on_empty – Will be outputted instead of empty string, in case if final shortcode’s result is empty. Default value: None.

strip_tags – Strips HTML and PHP tags from a shortcode output. Uses PHP strip_tags() function. Default value: yes.

custom_function – If set will apply any custom function on a shortcode output. For example, you can make an output uppercase by setting custom_function="strtoupper". Default value: None.

product_id – Can be used in products shortcodes. Default value: current product’s ID.
use_parent_id – Can be used in products shortcodes. If set to yes will use parent’s ID instead of child’s ID for variations. Default value: no.

convert_currency_from – Currency to convert from. Can be used in numeric results only. Default value: None.
convert_currency_to – Currency to convert to. Default value: None.
convert_currency_precision – Defines the number of decimals when rounding the final result.. Default value: 2.

When converting currency, the exchange rates are automatically retrieved from European Central Bank (ECB). Currency conversion example:

<price_usd>[alg_product_price convert_currency_from="EUR" convert_currency_to="USD" convert_currency_precision="2"]</price_usd>

Shortcodes List

Shortcode Descriptions

[alg_current_datetime]

Displays current date & time.

Attributes

datetime_format – Date & time format. Default value: your site date & time format.

Example
<time>[alg_current_datetime datetime_format="Y-m-d H:i:s"]</time>

[alg_shop_currency]

Displays shop’s currency code.

Example
<currency>[alg_shop_currency]</currency>

[alg_product_id]

Displays product’s ID.

Example
<product_id>[alg_product_id]</product_id>

[alg_product_type]

Displays product’s type, e.g.: simple, variable, external etc.

Example
<product_type>[alg_product_type]</product_type>

[alg_product_image_url]

Displays product’s image URL.

Attributes

image_size – Registered image size to retrieve. Default value: shop_thumbnail.

Example
<product_image_url>[alg_product_image_url image_size="full"]</product_image_url>

Displays product’s gallery image URL. In case if there is no image available, empty string will be outputted.

Attributes

image_nr – Number of gallery image to retrieve URL for. Default value: 1.

Example
<gallery_image_1>[alg_product_gallery_image_url image_nr="1"]</gallery_image_1>
<gallery_image_2>[alg_product_gallery_image_url image_nr="2"]</gallery_image_2>
<gallery_image_3>[alg_product_gallery_image_url image_nr="3"]</gallery_image_3>

[alg_product_url]

Displays product’s URL (i.e. permalink).

Example
<product_url>[alg_product_url]</product_url>

[alg_product_price]

Displays product’s price.

Attributes

multiply_by – Multiply price by this value before displaying. Default value: None.
hide_currency – Display price as number only, or format it with currency code. Default value: yes.

Example
<product_price>[alg_product_price multiply_by="1.25" hide_currency="no"]</product_price>

[alg_product_sku]

Displays product’s SKU.

Example
<product_sku>[alg_product_sku]</product_sku>

[alg_product_title]

Displays product’s title.

Example
<product_title>[alg_product_title]</product_title>

[alg_product_weight]

Displays product’s weight.

Example
<product_weight>[alg_product_weight]</product_weight>

[alg_product_excerpt]

Displays product’s excerpt.

Attributes

length – If not zero, will limit the excerpt length. Default value: 0.

Example
<product_excerpt>[alg_product_excerpt length="10"]</product_excerpt>

[alg_product_short_description]

Displays product’s short description.

Attributes

length – If not zero, will limit the short description length. Default value: 0.
apply_filters – Sets if woocommerce_short_description should be applied. Default value: no.

Example
<short_description>[alg_product_short_description length="10"]</short_description>

[alg_product_description]

Displays product’s (full) description.

Example
<description>[alg_product_description]</description>

[alg_product_custom_field]

Displays product’s custom field.

Attributes

name – Custom field’s name. Default value: None.

Example
<total_sales>[alg_product_custom_field name="total_sales"]</total_sales>

[alg_product_meta]

Displays product’s meta.

Attributes

name – Meta name (i.e. key). Default value: None.

Example
<total_sales>[alg_product_meta name="total_sales"]</total_sales>

[alg_product_you_save]

Displays product’s savings amount (i.e. regular price minus sale price amount).

Attributes

hide_if_zero – If set to yes will output empty string instead of numerical zero for products that are not on sale. Default value: no.
hide_currency – Display price as number only, or format it with currency code. Default value: yes.

Example
<you_save>[alg_product_you_save]</you_save>

[alg_product_you_save_percent]

Displays product’s savings amount in percent (i.e. regular price minus sale price amount in percent).

Attributes

hide_if_zero – If set to yes will output empty string instead of numerical zero for products that are not on sale. Default value: no.
reverse – If set to yes will reverse final result (i.e. 100 – percent). Default value: no.

Example
<you_save_percent>[alg_product_you_save_percent]</you_save_percent>

[alg_product_tags]

Displays product’s tags.

Attributes

add_links – Will add links to the tags page. Default value: yes.
sep – Separator. Default value: , .

Example
<tags>[alg_product_tags add_links="no"]</tags>

[alg_product_total_sales]

Displays product’s total sales number.

Attributes

hide_if_zero – If set to yes will output empty string instead of numerical zero. Default value: no.
offset – Will be added to final result. Default value: 0.

Example
<total_sales>[alg_product_total_sales]</total_sales>

[alg_product_shipping_class]

Displays product’s shipping class. “Standard” class is outputted as an empty string – if you want to change that, you can use on_empty attribute (which is available in all plugin’s shortcodes).

Example
<shipping_class>[alg_product_shipping_class on_empty="Standard"]</shipping_class>

[alg_product_dimensions]

Displays product’s dimensions.

Example
<dimensions>[alg_product_dimensions]</dimensions>

[alg_product_length]

Displays product’s length.

Attributes

to_unit – Will convert final result to this units. Default value: None.
round – Will round the final result. Default value: no.
precision – If round is set to yes, you can define rounding precision (i.e. number of decimals) here. Default value: 2.

Example
<length>[alg_product_length]</length>

[alg_product_width]

Displays product’s width.

Attributes

to_unit – Will convert final result to this units. Default value: None.
round – Will round the final result. Default value: no.
precision – If round is set to yes, you can define rounding precision (i.e. number of decimals) here. Default value: 2.

Example
<width>[alg_product_width]</width>

[alg_product_height]

Displays product’s height.

Attributes

to_unit – Will convert final result to this units. Default value: None.
round – Will round the final result. Default value: no.
precision – If round is set to yes, you can define rounding precision (i.e. number of decimals) here. Default value: 2.

Example
<height>[alg_product_height]</height>

[alg_product_formatted_name]

Displays product’s formatted name.

Example
<formatted_name>[alg_product_formatted_name]</formatted_name>

[alg_product_name]

Displays product’s name.

Example
<name>[alg_product_name]</name>

[alg_product_stock_availability]

Displays product’s stock availability.

Example
<stock_availability>[alg_product_stock_availability]</stock_availability>

[alg_product_tax_class]

Displays product’s tax class.

Example
<tax_class>[alg_product_tax_class]</tax_class>

[alg_product_average_rating]

Displays product’s average rating.

Example
<average_rating>[alg_product_average_rating]</average_rating>

[alg_product_categories]

Displays product’s categories.

Example
<categories>[alg_product_categories]</categories>

[alg_product_categories_names]

Displays product’s category names.

Attributes

sep – Separator. Default value: , .

Example
<categories_names>[alg_product_categories_names]</categories_names>

[alg_product_categories_urls]

Displays product’s category URLs.

Attributes

sep – Separator. Default value: , .

Example
<categories_urls>[alg_product_categories_urls]</categories_urls>

[alg_product_list_attributes]

Displays product’s attributes.

Example
<product_attributes>[alg_product_list_attributes]</product_attributes>

[alg_product_list_attribute]

Displays product’s (single) attribute.

Attributes

name – Required name of the attribute to display. Default value: None.

Examples
<product_attribute_size>[alg_product_list_attribute name="size"]</product_attribute_size>
<product_attribute_color>[alg_product_list_attribute name="pa_color"]</product_attribute_color>

[alg_product_stock_quantity]

Displays product’s stock quantity.

Example
<stock_quantity>[alg_product_stock_quantity]</stock_quantity>

[alg_product_sale_price]

Displays product’s sale price.

Attributes

hide_currency – Display price as number only, or format it with currency code. Default value: yes.

Example
<sale_price>[alg_product_sale_price]</sale_price>

[alg_product_regular_price]

Displays product’s regular price.

Attributes

hide_currency – Display price as number only, or format it with currency code. Default value: yes.
show_always – If set to no will display regular price only for products that are on sale. Default value: yes.

Example
<regular_price>[alg_product_regular_price]</regular_price>

[alg_product_time_since_last_sale]

Displays product’s time since last sale.

Attributes

order_status – Sets which order statuses to count as sale. Default value: wc-completed.
days_to_cover – Sets maximum number of days to check. Default value: 90.
hide_if_no_sales – If set to yes will display empty string, if there were no sales found. Otherwise will output “No sales yet.” string. Default value: no.

Example
<time_since_last_sale>[alg_product_time_since_last_sale]</time_since_last_sale>

[alg_product_price_including_tax]

Displays product’s price including tax.

Attributes

multiply_by – Optional multiplication coefficient. Default value: None.
hide_currency – Display price as number only, or format it with currency code. Default value: yes.

Example
<price_including_tax>[alg_product_price_including_tax]</price_including_tax>

[alg_product_price_excluding_tax]

Displays product’s price excluding tax.

Attributes

multiply_by – Optional multiplication coefficient. Default value: None.
hide_currency – Display price as number only, or format it with currency code. Default value: yes.

Example
<price_excluding_tax>[alg_product_price_excluding_tax]</price_excluding_tax>

[alg_product_available_variations]

Displays product’s available variations.

Attributes

sep – Separator for variation attributes. Default value: , .
sep2 – Separator for variation attributes and price. Default value: : .
sep3 – Separator for variations. Default value:  | .

Example
<available_variations>[alg_product_available_variations]</available_variations>
Example Output
<available_variations>red, Any: €20.00 | green, Any: €20.00 | blue, Any: €15.00</available_variations>

[alg_product_terms]

Displays product’s taxonomy terms.

Attributes

taxonomy – Required name of the taxonomy to display. Default value: None.
sep – Separator. Default value: , .

Examples
<brands>[alg_product_terms taxonomy="brand"]</brands>
<brands>[alg_product_terms taxonomy="pwb-brand"]</brands>

[alg_product_function]

Displays any product function’s result. For a list of available functions please check WC_Product class documentation.

Attributes

function – Required name of the function to call. Default value: None.

Examples
<description>[alg_product_function function="get_description"]</description>
<visible>[alg_product_function function="is_visible"]</visible>
<purchasable>[alg_product_function function="is_purchasable"]</purchasable>
<catalog_visibility>[alg_product_function function="get_catalog_visibility"]</catalog_visibility>

[alg_format_date]

Formats value as a date.

Attributes

format – Date format. Default value: your site’s date & time format.
is_timestamp – Is input value a timestamp (yes), or date/time string no. Default value: no.
do_localize – Do we need to localize outputted date. When set to yes, then date_i18n() function is used instead of date() function (no). Default value: no.

Example
<my_date>[alg_format_date format="m-d-Y"][alg_product_meta name="your_custom_field_name"][/alg_format_date]</my_date>

[alg_format_number]

Formats value as a number.

Attributes

decimals – Sets the number of decimal points. Default value: 0.
dec_point – Sets the separator for the decimal point. Default value: ..
thousands_sep – Sets the thousands separator. Default value: ,.

Example
<my_number>[alg_format_number decimals="2"][alg_product_meta name="your_custom_field_name"][/alg_format_number]</my_number>

[alg_to_timestamp]

Converts date/time string to timestamp.

Example
<my_timestamp>[alg_to_timestamp][alg_product_meta name="your_custom_field_name"][/alg_to_timestamp]</my_timestamp>

Options

Plugin options are located in “WooCommerce > Settings > Product XML Feeds”.

General Options

Product XML Feeds for WooCommerce - General Options

Total XML files (feeds)
Sets the number of different feeds you wish to create.
Default: 1
Block size for products query
Sets the number of products feed file creation script should process in single loop.
Default: 512
PHP memory limit
Sets PHP memory limit (in megabytes). Ignored if set to zero. In addition to this you may need to increase WP memory limit by setting WP_MEMORY_LIMIT and WP_MAX_MEMORY_LIMIT in your wp-config.php file.
Default: 0
PHP time limit
Sets the number of seconds feed file creation script is allowed to run. Ignored if set to zero. Check set_time_limit() function documentation for more info. There is a number of other solutions for increasing PHP time limit.
Default: 0

XML Feed #X Options

Product XML Feeds for WooCommerce - Feed Main Options

Enabled
Enables/disables the current feed.
Default: yes
Admin title
Sets admin title for the current feed.
Default: XML Feed #X

Template Options

Product XML Feeds for WooCommerce - Template Options

XML header
Sets XML header template.
Default:
<?xml version = "1.0" encoding = "utf-8" ?>
<root>
<time>[alg_current_datetime]</time>
XML item
Sets each XML item template.
Default:
<item>
<name>&lt;![CDATA[ [alg_product_name] ]]></name>
<short_description>&lt;![CDATA[ [alg_product_short_description] ]]></short_description>
<link>[alg_product_url]</link>
<price>[alg_product_price]</price>
<currency>[alg_shop_currency]</currency>
<image_url>[alg_product_image_url]</image_url>
<sku>[alg_product_sku]</sku>
<stock_quantity>[alg_product_stock_quantity]</stock_quantity>
<categories>[alg_product_categories]</categories>
<tags>[alg_product_tags]</tags>
<total_sales>[alg_product_meta name="total_sales"]</total_sales>
</item>
XML footer
Sets XML footer template.
Default:
</root>

General Options

Product XML Feeds for WooCommerce - Feed General Options

XML file path and name
Please note that destination folder must be writable.
Default: products.xml or products_X.xml
Update period
Possible values: Update every minute; Update hourly; Update twice daily; Update daily; Update weekly.
Default: Update weekly

Products Filtering Options

Product XML Feeds for WooCommerce - Products Filtering Options

Products to include
To include selected products only, enter products here. Leave blank to include all products.
Default: None
Products to exclude
To exclude selected products, enter products here. Leave blank to include all products.
Default: None
Categories to include
To include products from selected categories only, enter categories here. Leave blank to include all products.
Default: None
Categories to exclude
To exclude products from selected categories, enter categories here. Leave blank to include all products.
Default: None
Tags to include
To include products from selected tags only, enter tags here. Leave blank to include all products.
Default: None
Tags to exclude
To exclude products from selected tags, enter tags here. Leave blank to include all products.
Default: None
Variable products
Possible values: Variable product only; Variation products only; Both variable and variations products.
Default: Variable product only
Products scope
Possible values: All products; Only products that are on sale; Only products that are not on sale; Only products that are featured; Only products that are not featured.
Default: All products
Stock status
Possible values (multiselect): In stock, Out of stock, On backorder. Leave blank to include all products.
Default: None
Min price
Ignored if empty.
Default: None
Max price
Ignored if empty.
Default: None
Catalog visibility
If empty, then all products will be included in the feed. Possible values: Shop and search results (i.e. visible); Shop only; Search results only; Hidden.
Default: None
Custom taxonomy to include
To include products from selected taxonomy only, enter taxonomy slug here. Leave blank to include all products. E.g.: pwb-brand
Default: None
Custom taxonomy to include: slugs
Set as comma separated list of slugs.
Default: None

2 reviews for Product XML Feeds for WooCommerce

  1. alexandroskast (verified owner)

    Simple, fast , custom batch size for slow servers, super customization options!

  2. Alex

    Great plugin! Documentation could be better… but still I would give it 6 stars!!!!! Thank you!

    • Tom Anbinder

      Hi,

      Thanks. We’ve recently expanded the documentation – hope it’s better now.

Add a review

Your email address will not be published. Required fields are marked *

104 thoughts on "Product XML Feeds for WooCommerce"

  1. Hello there,

    I have a question I can’t figure out about XML. I would be glad if you help me.

    I’m using the free version of your plugin. I want [alg_product_list_attributes] or [alg_product_available_variations] to look like this:

    Color – Quantity – Price – Photo
    White – 3 – 10.00 – website.com/photo1.jpg | Black – 4 – 10.00 – website.com/photo2.jpg

    Is there any way I can make a setting?

    1. Hi,

      Sorry for a late reply. Not sure if this will be good enough, but I would suggest separating variations into separate items. First you need to set “Variable products” option to “Variation products only” in “WooCommerce > Settings > Product XML Feeds > XML Feed #X > Products Filtering Options”. Then you can set “XML item” option to something like this:

      <item>
          <variation_data>[alg_product_list_attribute name="color"] - [alg_product_price] - [alg_product_image_url]</variation_data>
      </item>
      
  2. Hello

    Can this plugin or the pro version create the following XML scenario?

    We want the XML file to have every variation of the product as seperate product listing.

    For example.

    We have a variable product with

    SKU 111

    and has

    3 Variations

    Color Blue, Size 01, SKU 11101
    Color Blue, Size 02, SKU 11102
    Color Blue, Size 03, SKU 11103

    We want each variation to show in the xml as different product.

    Now the XML version shows only the parent product with the SKU 111 and the shortcode available_variations shows the available variations.

    But we want to treat every variation as different product in xml so that the XML file will have

    11101
    111

    [alg_product_title]
    [alg_product_formatted_name]
    [alg_product_url]
    [alg_product_type]
    [alg_product_price]

    Etc.

    Is this possible? In free or paid version.

    We want this badly.

    Thank you.

    1. VariationSku: 11101
      ParentSku: 111

      [alg_product_title]
      [alg_product_formatted_name]
      [alg_product_url]
      [alg_product_type]
      [alg_product_price]

    2. Hi Michael,

      Yes, that is possible. What you need is “Variable products” option in each feed’s settings (i.e. “WooCommerce > Settings > Product XML Feeds > XML Feed #X > Products Filtering Options”). By default it is set to “Variable product only” and for your task you should set it to “Variation products only” (or maybe to “Both variable and variations products” if you want both parent and child products listed).

      Hope that helps. Please let me know if you have any more questions.

    3. Something is wrong.

      I leave all the settings by default and enable only

      Variable products > Variation products only

      and from

      Categories to include > I select one category that has variable products

      but the feed is empty.

      If i choose a category with simple products the feed return results but this is not how is suppose to work right?

    4. Hi Michael,

      I’ve just rechecked and you are correct – the problem is that variations don’t really have a category (only their parent variable product has a category), so when filtering products by category, variations are skipped. Already fixing this. Will get back to you as soon as possible.

    5. Hi Michael,

      As promised, we’ve released new plugin version 1.4.4 today. After the update, you will find new “Query post type” option in each feed’s settings (in “WooCommerce > Settings > Product XML Feeds > XML Feed #X > Advanced Options”). Please set it to “Products only” – this should solve the issue with variations filtering by product’s category.

      The reason why we have added this as an option (and didn’t just make it the default behavior) is that in this case XML creation is a little bit slower (as we need to check every variation of a variable product manually). Anyway please try it out, the difference in time should be minimal.

      Please let me know if something is not working as expected. And if you like the plugin, please consider leaving us a rating.

    6. Yes thank you.

      Now it seems to work. I will try to produce the right xml config that we want to see if it’s possible with your plug-in.

      For the SKU the default one now is bringing the products variation SKU that we want alright but there is no shortcode to also bring the parent SKU.

      We want something like that

      alg_product_title alg_product_sku alg_product_sku_parent

      etc.

      Will we have to create a custom shortcode for that or it is in the codebase?

      Thank you again

    7. I mean something like that.

      [item]
      [alg_product_title] Product Name
      [alg_product_sku] Variation SKU
      [alg_product_sku_parent] Parent SKU
      [etc]
      [item]

      Thank you

    8. Hello.

      Sorry to bother you again.

      I’m still testing the new update.

      Like i said before now it works but the following shortcode

      [alg_product_stock_quantity]

      does not bring the stock quantity for each variation.

      I think this shortcode gets the parent stock quantity but now that we want to display each individual variations the stock quantity is not working with this shortcode.

      Thank you.

    9. Hi Michael,

      Sorry for a late reply.

      1. Parent SKU – that’s easy, you just need to add use_parent_id="yes" attribute to the shortcode, i.e.:

      [alg_product_sku] – variation’s SKU,
      [alg_product_sku use_parent_id="yes"] – parent’s (i.e. variable product’s) SKU.

      2. [alg_product_stock_quantity] – this one seems to be working fine on my test server, i.e. it brings variation’s stock, as it should. The only thing that I have noticed – if you haven’t set stock for variation, the shortcode will try to get the stock for the parent (in case if you have set it for the parent). And as with any other shortcode, you can also use use_parent_id="yes" attribute. Could you please recheck it once again. If it’s still not working as expected – maybe it’s possible for me to log in to your site’s admin to check it out? My private email is [email protected].

    10. Sorry i re checked it.

      You are right, we were having problem with the staging test environment and our stock.

      I will keep testing.

      Thank you.

    11. Sure, no problem. Please let me know if you have any more questions.

  3. Hi, I have some problems:

    I’m using this shortcode to add GTIN/EAN to feed:

    [alg_product_terms taxonomy=”_wpm_gtin_code”] but it doesn´t do nothing.

    I have checked that the GTIN was correctly added to product in inventory section at all.

    Also, would like to show “0” quantity if stock is “0 units” but it doesn´t show nothing.

    Could you help me please?

    1. Hi Gabriel,

      1. For GTIN please try using [alg_product_meta] shortcode, e.g.:

      [alg_product_meta name="_wpm_gtin_code"]

      2. To show zero instead of an empty string in any shortcode, please try adding on_empty attribute, e.g.:

      [alg_product_stock_quantity on_empty="0"]
  4. Hello Tom,
    I reply to that question fo “dynamic attributes”.
    Yes, I’d like to use them in your plugin too, but it seems not to working.

    What are dynamic attributes:
    I have two of them by WooCommerce products.
    The first one “Brand” was created from the “Perfect WooCommerce Brands” plugin. I use this plugin to define and assign Brands to my products.

    The second one was defined through standard WooCommerce menu Products/Attributes. When I create such new Attribute, other plugins show them as “dynamic attributes”.

    I tried to use both this “dynamic” attributes in product-xml-feeds plugin, but with no success.
    I used the alg_product_terms shortcode and the alg_product_meta shortcode, but they didn’t work.

    Thank you
    Radomir

    1. Hi Radomir,

      1. Brands – I’ve checked the “Perfect WooCommerce Brands” plugin and what you need is:

      [alg_product_terms taxonomy="pwb-brand"]

      2. Product attributes – if, for example, you have a product attribute with size slug, then what you need is:

      [alg_product_list_attribute name="size"]

      Hope that helps. Please let me know if something is not working as expected or if you have any questions. And if you like the plugin, please consider leaving us a rating.

    2. Thank you very much Tom!
      It both works (brands, product attributes)!
      I used propabbly improper shortcode or improper taxonomy name.

      Can I have another question?
      Is it possible (ist there some shortcode) to ommit whole XML tag or even whole XML block, when is some attribute empty?
      Then would this plugin be perfect!

      But I know – such a feature is not so easy to implement, because it should work together with all other shortcodes.

      Such a
      [omit_if_empty_start][some_test_shortcode]
      some xml text and other shortcodes here
      [omit_if_empty_end]

      or
      [omit_if_empty_start test_shortcode=”some_test_shortcode”]
      some xml text and other shortcodes here
      [omit_if_empty_end]

      Thank you, Radomir

    3. Hi Radomir,

      Happy to hear it’s working.

      Regarding omitting empty tags – actually this is already possible. What you need to do is to add before and after attributes to the shortcodes. These attributes are available in all plugin’s shortcodes. So instead of the standard:

      <brands>[alg_product_terms taxonomy="pwb-brand"]</brands>

      you need to add:

      [alg_product_terms taxonomy="pwb-brand" before="<brands>" after="</brands>"]

      This way the tag will be omitted in case if the resulting value is empty.

    4. Thank you Tom,
      this is little bit tricky to ommit whole xml tag with before and after – but perfect.
      May be, you can describe this usecase on yours plugin page for others too.
      I am really amazed, what I can do with your plugin!
      Radomir

    5. Happy to help 🙂

      As for description – I agree, we need to expand the documentation, will do that as soon as possible. There is short description of all common (i.e. global) shortcode attributes (including before and after) at the beginning of the Shortcodes section in description, but we definetely need to add more examples etc.

  5. Product price and sale price are always the same. Can you fix that?

    .50
    .50

    1. Hi,

      What you need is to use these two shortcodes:
      [alg_product_regular_price]
      [alg_product_sale_price]

      The [alg_product_price] shortcode, which you were probably using, displays product’s “active” price (i.e. sale price for products on sale, and regular price for other products).

  6. Hi,
    do You have or could make possibility to select product import by price limit, lets say, all products >30?
    Thanks Janis

    1. Hi Janis,

      Not possible at the moment, but seems quite easy to add. Will be adding it in next version. Will get back to you as soon as possible.

      P.S. By “… product import…” you mean adding products to the XML feed, correct?

    2. Hi Janis,

      As promised, we’ve just released new plugin version 1.4.2. There I’ve added new “Min price” and “Max price” options to each feed’s settings section. Unfortunately these options are available in Pro version only.

      Please let me know if something is not working as expected.

      P.S. If you like the plugin, please consider leaving us a rating.

  7. Hi,

    In my feed I would like to include Single and Variation products – without showing the Variable parents.
    When I select “Variation products only”, the Single products are excluded.
    When I select “Both variable and variations products” everything is included, but I do not need the Variable parents.
    When I select “Variable product only”, the Variations are missing.
    It seems that there is no setting to display Single products and Variation products.
    🙁
    Can you please help me solve this problem?
    Thank you very much indeed.
    Best regards,
    Endre

    1. Hi,

      I’ve just checked and you are correct – this is a bug. “Variation products only” option should do exactly what you’ve described, i.e. add variations as well as simple products to the feed and it incorrectly adds variations only. Already fixing this – new version will be released today.

      P.S. Thanks for pointing that out.

    2. Hi again,

      As promised, we’ve just released new version 1.4.1. Now “Variation products only” option should be fixed. Please let me know if there are still any issues.

      P.S. If you like the plugin, please consider leaving us a rating.

    3. Hi Tom,

      It seems now when I select “Variation products only” the single products are in the feed but the variations are missing.

      🙁

    4. I have double checked on another site and it seems to be OK.
      However, on the first site the variation products are still missing – even if I select to show both variable and variation products. In this case only the parents and the simple products are in the xml.
      I do not know what is wrong here, but I am tried now, I will let it have some rest for the weekend.
      Kind regards,
      Endre

    5. Hi Endre,

      Thanks for the feedback.

      I’ve just re-checked on my test server and it seems to be working fine here. Could you please make sure that latest plugin version is installed on both your sites. Also please make sure that you click “Save changes” after you change “Variable products” option’s value (i.e. before clicking “Create now” button).

      P.S. We’ve just released new plugin version 1.4.2. Not sure if this will make any difference, but there I’ve re-wrote some parts of the code related to “Variable products” option, so I would suggest trying with this new version.

  8. How do I add the stock for variable products.
    Ex: Size 10: stock 2

    1. Hi,

      If you select either “Both variable and variations products” or “Variation products only” value for the Variable products option in your feed settings, then quantity for each variation can be retrieved with standard [alg_product_stock_quantity] shortcode (otherwise it will retrieve quantity at variable product level), i.e.:

      <stock_quantity>[alg_product_stock_quantity]</stock_quantity>

      Hope that helps and please let me know if that is not what you need.

  9. Hi there, is there a way to have the category path of the product displayed? EX: Technology->communications->mobile phones.
    Changing the seperator of categories from ‘,’ to ‘->’ doesnt do the trick because products might be in more categories than one.
    Thanks in advanced

  10. I activated a google feed, but the result was xml error. I don’t understand anything of how attributes or this plugin works. Is there any documentation? Please help, because as it is i would like my money back (as it says on the site is possible). Thanks in advance.

  11. oh wait i think it already does this automatically?

  12. I just bought your lifetime key. I would like to know how to have the feed display the regular price WITH VAT
    and how to add shipping costs based on shipping classes ‘heavy’ and ‘lightweight’. But I don’t know how to. I’m a beginner at this. Can you explain at beginner level? Any type of video would have been great. Thanks in advance.

  13. Hello,
    I’ve purchased the PRO version, but I have problem with the description field, it generates server error. The code I’m using is as it follows:

    [alg_product_title]
    [alg_product_sku]
    [alg_product_price]
    <![CDATA[ [alg_product_description] ]]>
    [alg_product_image_url]
    [alg_product_gallery_image_url image_nr=”1″]
    [alg_product_gallery_image_url image_nr=”1″]
    [alg_product_gallery_image_url image_nr=”1″]
    [alg_product_list_attribute name=”Размер”]

    Any sugestion, how to fix it?

    Best regards

  14. Hello!

    I need to make a feed, where it has specific fields, all shortcodes meet me, minus 1. I need to insert the whole description of the product and not just the short description. How can I do it? Is there any specific shortcode for this?

    thankful

    Valdemir

    1. Hi Valdemir,

      Thanks for the idea. We’ve just released new plugin version 1.4.0. After update you can use new [alg_product_description] shortcode in your feed, e.g.:

      <description>[alg_product_description]</description>

      Also in v1.4.0 we’ve added more general [alg_product_function] shrotcode – you can get the description with this shortcode as well, e.g.:

      <description>[alg_product_function function="get_description"]</description>

      Hope that helps. Please let me know if something is not working correctly.

      P.S. If you like the plugin, please leave us a rating.

    2. Hello Tom Anbinder!

      I used the short description [alg_product_description] and also tried the shortcode [alg_product_function function = “get_description”] , and continue with the error.

      I already upgraded to version v1.4.0. You are loading the feed, but with error. Can you help me?

      The error that is showing the time that loads the feed is described below:

      This page contains the following errors:
      error on line 3167 at column 31: StartTag: invalid element name
      Below is a rendering of the page up to the first error.

    3. Hi Valdemir,

      Maybe you could give me the link to your generated XML file, or send it to me directly to [email protected]?

    4. In case if anyone else has similar issue – as we’ve figured out in private conversation – the problem was that inside a product description there were “less than” signs (e.g.: <20dBm...), which are incorrectly parsed as XML tags. Wrapping the shortcode in CDATA seems to solve the problem, i.e.:

      <description>&lt;![CDATA[ [alg_product_description] ]]></description>
  15. Hi,

    Is it possible to get additional images to xml feed?

    1. Hi,

      Unfortunately not possible at the moment, but please give me a couple of days to implement it. Will get back to you asap.

    2. Hi Nikolaos,

      As promised we’ve just released new plugin version 1.4.0. After update you can use new [alg_product_gallery_image_url] shortcode in your feed, e.g.:

      <image_1>[alg_product_gallery_image_url image_nr="1"]</image_1>
      <image_2>[alg_product_gallery_image_url image_nr="2"]</image_2>
      <image_3>[alg_product_gallery_image_url image_nr="3"]</image_3>
      

      and so on…

      In case if there is no image available, empty string will be outputted.

      Hope that helps. Please let me know if something is not working correctly.

      P.S. If you like the plugin, please leave us a rating.

  16. Want to but the full version but in the free one the plugin keeps timing out when processing the xml. The xml is empty. How can I resolve this issue? Over 3000 products.

    1. Also, I think it would be great if you could add an option to exclude SOLD out products.

    2. Hi,

      We’ve just released new plugin version 1.4.0:

      1. Regarding time limit – please try settings new “PHP time limit” option in “WooCommerce > Settings > Product XML Feeds > General > Advanced Options” to some larger number, e.g. 600 seconds.

      2. Regarding excluding “Sold Out” products – please go to “WooCommerce > Settings > Product XML Feeds > XML Feed #X” and there at the bottom of the page there is new “Stock status” option. You should set it to “In stock”.

      Hope that helps. Please let me know if something is not working as expected.

      P.S. If you like the plugin, please leave us a rating.

    3. AWESOME!!! Thanks! got it working.

    4. Hi,

      Happy to hear it helped!

      Please let me know if you need anything else.

  17. Hi,

    Can I add [alg_product_id] shortcode into element id

    Thanks.

    1. Hi Aidas,

      Sorry for a late reply. Yes, you can. To do that, you need to replace quotes " with HTML symbol code &quot; (as in WordPress shortcodes are not allowed in HTML attributes), so:

      <item id=&quot;[alg_product_id]&quot;>

      And it will produce “normal” quotes in resulting XML, e.g.:

      <item id="123">

      Hope that helps.

    2. Why isn’t this working with a custom attribute name?

  18. I installed the program but the products are not running.If you can release the products I will get the paid version.Can you help me publish the products?

    https://i.hizliresim.com/8zpAyr.png

    https://i.hizliresim.com/g6mEQL.png

    1. Hi,

      Not sure I understood you correctly. You mean that XML feeds are not being created? If that’s correct – maybe can create/share an admin account to your server (WP and preferably FTP), so I could login and check what’s going on (my email is [email protected])?

      P.S. And screenshots you posted are not accessible.

  19. How to list custom field from product in variation products only mode?

    For example: i add custom field named: warranty with one value for each product and i want to show same result for each variant of this product in XML.

    1. Same problem with [alg_product_excerpt]. How to show it on each variation ?

    2. Hi Tomek,

      I’ve just replied to you by email, but in case if anyone else has similar task – I’ve just added new use_parent_id attribute in our development version. It can be used in all “products” shortcodes. Attribute is set to no by default, but if you will set it to yes it should solve your task, e.g.:

      [alg_product_meta name="total_sales" use_parent_id="yes"]

      Hope that helps.

      Best regards,
      Tom

    3. This made my day sunnier:
      use_parent_id=”yes” can be used in all “products” shortcodes.
      Attribute is set to no by default, but if you will set it to yes it should solve your task.

    4. Happy to help 🙂

  20. Hello Can i Use CDATA ? Because i get &amp insted & ?

    1. Hi,

      Please try replacing it with HTML codes, e.g.:

      [alg_product_title before="&#60;!&#91;CDATA&#91;" after="&#93;&#93;>"]

      This should produce something like:

      <![CDATA[Some Product Title]]>
  21. Hello i have a Pro version..
    Block Size for Products Query: 2048.
    Update period: Update hourly..

    But .xml file doesnt updates automatic.. everything work when i press “create now”. can some one help me with that?

    1. Hi,

      Could you please check if crons are enabled on your site? Please go to “WooCommerce > Status” from your admin dashboard and there check the “WordPress cron” option.

      If crons are enabled and automatic XML updates still not working – maybe I could login to your server and check what’s going on? My email is [email protected]

      Best regards,
      Tom

  22. Hi,

    Is it possible to get additional images to xml feed?

    1. Hi,

      In case if anyone else has similar question – [alg_product_gallery_image_url] shortcode was added in plugin version 1.4.0, e.g.:

      <image_1>[alg_product_gallery_image_url image_nr="1"]</image_1>
      <image_2>[alg_product_gallery_image_url image_nr="2"]</image_2>
      <image_3>[alg_product_gallery_image_url image_nr="3"]</image_3>
      

      Hope that helps.

  23. Hi! how can i add brand to my xml feed?

    ex:

    [alg_product_title]
    [alg_product_price]
    ?????

    Thanks!

  24. Hello again,

    On top of my previous comment I would like to ask you
    Currently variation name is
    if it would be possible to add a shortcode for variation product titles to be like “Parent product name – variation attributes (separated by space)”

    thank you

  25. Hello,

    First of all thank you for this plugin,
    I would like to make an enhancement request.
    Currently there is choice to include “variation” or “variable” products or both.
    “Variable only” option will include “Simple” and “Variable” products together.
    Could you please make it possible to be able to differentiate between those two as well ?
    ending up being possible to choose any or all between “Simple”, “Variable” (which is basically the variation parent product) and “Variation” ?

    thank you

  26. I along with my colleague have created a custom taxonomy called Brands (with slug called ‘brand’) and have associated it to Woocommerce Products. Can the Product XML Feeds for WooCommerce plugin display Brands in the xml from the (Brands) custom taxonomy? If yes, then how?

    1. Hi,

      As replied in private email: since plugin v1.2.2, you can now get any custom taxonomy for the products with [alg_product_terms] shortcode, e.g.:

      [alg_product_terms taxonomy="brand"]

      In case if there will be more than one brand, you can use sep attribute to set how brands should be “glued”, e.g.:

      [alg_product_terms taxonomy="brand" sep=", "]

      Hope that helps.

      Best regards,
      Tom

  27. Hello,
    My xml makes the product image 180×180 size. I want to use the default image size.
    Thanks

    1. Hi,

      Sorry not replying earlier. If you are referring to the [alg_product_image_url] shortcode – it’s using standard WordPress get_the_post_thumbnail_url() function to get image URL, and shortcode has image_size attribute (it’s set to post-thumbnail by default), so please try one of these:

      [alg_product_image_url image_size="medium"]
      [alg_product_image_url image_size="large"]
      [alg_product_image_url image_size="full"]
      [alg_product_image_url image_size="thumbnail"]

      Hope that helps.

      Best regards,
      Tom

  28. Hi there, is there a possibility to get single attributes???

    [alg_product_list_attributes] is working fine and lists all attributes next to eachother.

    But [alg_product_list_attribute] gives no feedback, no values,… Did I miss something??? Is there a possibility to list only a certain attribute?

    Thanks

    PS: otherwise its working great so far!

    1. Some blind testing and I found a solution:

      [alg_product_list_attribute name=”pa_vintage”]

      So you need to put the attribute’s name in there… Problem solved!

    2. if we want to add dynamic attributes ?

    3. Hi,

      Not really sure I understood “dynamic” attributes correctly. Maybe you could give me some example?

  29. Hello,

    Why my xml makes the product image only 180×180 size?

    1. Hi,

      Sorry not replying earlier. If you are referring to the [alg_product_image_url] shortcode – it’s using standard WordPress get_the_post_thumbnail_url() function to get image URL, and shortcode has image_size attribute (it’s set to post-thumbnail by default), so please try one of these:

      [alg_product_image_url image_size="medium"]
      [alg_product_image_url image_size="large"]
      [alg_product_image_url image_size="full"]
      [alg_product_image_url image_size="thumbnail"]

      Hope that helps.

      Best regards,
      Tom

  30. Hello!
    We have yith brand plugin, how can we add it to our product feed?

    1. tax:yith_product_brand

      That is how it calls in csv exported products

    2. Hi,

      Sorry for not replying earlier. Since plugin v1.2.2, you can now get any custom taxonomy for the products with [alg_product_terms] shortcode, e.g.:

      [alg_product_terms taxonomy="yith_product_brand"]

      In case if there will be more than one brand, you can use sep attribute to set how brands should be “glued”, e.g.:

      [alg_product_terms taxonomy="yith_product_brand" sep=", "]

      Hope that helps.

      Best regards,
      Tom

  31. hello,
    i am interested in buying you plugin, i have the simple version already configured on my site, but i would need to update my products.xml file after every minute,so i have to buy the paid plugin, i just have one query, my client requests that i need to specify some additional parameters other than what the plugin gives by default which are “brand, mpn or gtin, google_ product_ category” now i looked over the shortcode list of your plugin and these attributes are not defined in there my question is can i somehow add the above mentioned attributes to the plugin? and please i am in a hurry the client is really catchy i need to get this done asap, waiting for your reply!
    regards,
    Uneeb

  32. When i click on create new feed i get error 500, why?

    1. Hi,

      Sorry for not replying earlier. We’ve just released new v1.2.2, where we’ve added new “Block Size for Products Query” option to plugin settings (it’s in “WooCommerce > Settings > Product XML Feeds > General”). Could you please try setting it to larger number, e.g. 2048.

      Best regards,
      Tom

  33. Hello.
    I have the pro version and would like to make a small enhancement request.
    instead of XML Feed #1 | XML Feed #2 ….. it would be great if I could give a different name.
    thanks

    1. Hi,

      In case anyone else has similar question – in plugin version 1.4.0 we’ve added “Admin title” option to “WooCommerce > Settings > Product XML Feeds > XML Feed #X”.

      Hope that helps.

  34. Hello, i have the pro version and i have a problem with [alg_product_image_url]
    It takes the smallest image or thumbnail and not the default image.
    I need your help to fix this issue immediately cause the site is live.
    Thanks in advance

    1. Hi,

      Sorry not replying earlier. Shortcode is using standard WordPress get_the_post_thumbnail_url() function to get image URL, and shortcode has image_size attribute (it’s set to post-thumbnail by default), so please try one of these:

      [alg_product_image_url image_size="medium"]
      [alg_product_image_url image_size="large"]
      [alg_product_image_url image_size="full"]
      [alg_product_image_url image_size="thumbnail"]

      Hope that helps.

      Best regards,
      Tom

  35. …and also category path

  36. Hello i want to buy your plugin but i have a question,
    i insert MPN in a field created by a plugin named “Cart Product Feed Additional Product Fields”
    Is it possible to show the MPN in the feed with your plugin

    1. Hi,

      I’m not really sure what is MPN, but there is a universal [alg_product_meta] shortcode, that can get any data saved in product, e.g.:

      [alg_product_meta name="_some_meta_id"]

      You should change _some_meta_id to meta name that “Cart Product Feed Additional Product Fields” plugin creates.

      Hope I made it little more clear, and please let me know if you have any more questions.

      Best regards,
      Tom

    2. this solution is working great and i just bought the plugin.
      1 more question, I need to show the category id as well…
      Is it possible?

    1. Hi Firuz,

      Will check that first thing tomorrow morning.

      Best regards,
      Tom

    2. Hi again,

      I’ve just tested on my server and I’m not sure I can reproduce the issue. I’ve tried some different configurations, and basically the result of [alg_product_stock_availability] shortcode depends on what you set in product’s edit page “Inventory” tab. “Out of stock” is shown always as it should be, and “In stock” depends on “Enable stock management at product level” and “Stock quantity” options. As far as I figured out – depending on those settings sometimes shortcode outputs empty string if product is in stock (but for example no “Stock quantity” is set). So as a solution, I’m thinking about adding on_empty attribute to the shortcode, so you could use it something like:

      [alg_product_stock_availability on_empty="In stock"]

      Please let me know what you think.

      Best regards,
      Tom

    3. Here settings “Invertory” page.
      http://prntscr.com/g23ryn
      And:
      http://prntscr.com/g23sdw
      http://prntscr.com/g23sjs
      Please help me, i can give you admin page access, if you have a free time.
      Sorry for my bad english. Thank you for answer. Best support.

    4. I meant “Inventory” tab on each product’s edit page.

      I’ve just sent you an email.

      Best regards,
      Tom

    5. Hi,

      As suggested on_empty attribute was added to all shortcodes in plugin v1.2.1.

      Best regards,
      Tom

  37. Hello, please help me to resolve this problem:

    [alg_product_stock_quantity] – this shortcode don’t work.

    Please help me!
    Thank you, Great plugin!

    1. Olá!

      Preciso fazer um feed, onde tem campos específicos, todos os shortcodes me atendem, menos 1. Preciso inserir a descrição toda do produto e não apenas a descrição curta. Como posso fazer? Existe algum shortcode específico para isso?

      Grato

      Valdemir

Leave a Reply

Your email address will not be published. Required fields are marked *

Changelog

1.4.8 - 20/05/2019

  • Fix - Shortcodes - [alg_product_stock_quantity] - Returning empty string instead of boolean false (fixes the issue with on_empty attribute).

1.4.7 - 15/05/2019

  • Fix - Feeds - Template Options - Default templates are now correctly retrieved even if "Save changes" button was never clicked.
  • Dev - Feeds - Template Options - XML item - Default template changed (CDATA added; less shortcodes included).
  • Dev - Feeds - Advanced Options - "Query post type" option removed (now always set to "Products only"). This fixes the issue with "Products and variations" option and some "Products Filtering" section options.
  • Dev - Shortcodes - custom_function global attribute added.
  • Dev - Shortcodes - strip_tags global attribute added (defaults to yes).

1.4.6 - 09/05/2019

  • Fix - Advanced Options - Set correct min values in settings.
  • Dev - Feeds - Products Filtering Options - "Custom taxonomy to include" options added.
  • Dev - Advanced Options - "PHP memory limit" option added.
  • Dev - Tested up to: 5.2.

1.4.5 - 26/04/2019

  • Dev - Shortcodes - General - [alg_format_date] shortcode added.
  • Dev - Shortcodes - General - [alg_format_number] shortcode added.
  • Dev - Shortcodes - General - [alg_to_timestamp] shortcode added.
  • Dev - Settings - IDs added to product lists (in "Products Filtering Options > Products to include / exclude").
  • Dev - "WC tested up to" updated.

1.4.4 - 05/04/2019

  • Dev - Advanced - "Query post type" option added.

1.4.3 - 27/03/2019

  • Dev - Shortcodes - convert_currency_from, convert_currency_to and convert_currency_precision global shortcode attributes added.
  • Dev - Shortcodes - find_replace_sep global shortcode attribute added. Now find and replace global shortcode attributes can find and replace multiple values.
  • Dev - Shortcodes - [alg_product_available_variations] - sep, sep2 and sep3 attributes added.
  • Dev - Feeds - Products Filtering Options - "Catalog visibility" option added.
  • Dev - Feeds - General Options - "WPML language" option added.

1.4.2 - 28/01/2019

  • Dev - Variable products - "Variation products only" code rewritten (get_the_ID() added etc.).
  • Dev - Feeds - Product "Min price" and "Max price" options added.
  • Dev - Code refactoring.
  • Dev - Admin settings restyled (subsections added).

1.4.1 - 24/01/2019

  • Fix - Variable products - "Variation products only" option fixed.
  • Dev - Shortcodes - [alg_product_name] shortcode added.

1.4.0 - 26/11/2018

  • Dev - Shortcodes - [alg_product_description] shortcode added.
  • Dev - Shortcodes - [alg_product_gallery_image_url] shortcode added.
  • Dev - Shortcodes - [alg_product_function] shortcode added.
  • Dev - Feeds - Product "Stock status" options added.
  • Dev - Feeds - "Admin title" option added (to set custom feed title (instead of "XML Feed #X")).
  • Dev - General - "PHP time limit" option added.
  • Dev - General - Block size for products query default value changed to 512.
  • Dev - Admin settings descriptions updated.
  • Dev - Minor code refactoring.

1.3.1 - 18/10/2018

  • Fix - Shortcodes - [alg_product_time_since_last_sale] - days_to_cover attribute fixed.
  • Dev - Shortcodes - [alg_product_time_since_last_sale] - Code refactoring.

1.3.0 - 10/10/2018

  • Fix - "Total XML files (feeds)" option fixed (new feeds settings are displayed at once now).
  • Dev - use_parent_id attribute added to all "products" shortcodes.
  • Dev - "Reset section settings" options added.
  • Dev - Code refactoring.
  • Dev - Admin settings restyled and descriptions updated.
  • Dev - Plugin URI updated.

1.2.2 - 23/03/2018

  • Dev - [alg_product_terms] shortcode added.
  • Dev - General - Advanced - "Block Size for Products Query" option added.
  • Dev - includes/shortcodes folder added.
  • Dev - "WC tested up to" added to plugin header.

1.2.1 - 31/07/2017

  • Dev - on_empty attribute added to all shortcodes.

1.2.0 - 27/07/2017

  • Dev - WooCommerce v3 compatibility - Getting product ID and short description with functions (instead of accessing properties directly).
  • Dev - WooCommerce v3 compatibility - get_price_including_tax() and get_price_excluding_tax() replaced with wc_get_price_including_tax() and wc_get_price_excluding_tax().
  • Dev - WooCommerce v3 compatibility - get_tags() and get_categories() replaced with wc_get_product_tag_list() and wc_get_product_category_list().
  • Dev - WooCommerce v3 compatibility - list_attributes() replaced with wc_display_product_attributes().
  • Dev - WooCommerce v3 compatibility - $_product->get_dimensions( true ) replaced with wc_format_dimensions( $_product->get_dimensions( false ) ).
  • Fix - [alg_product_available_variations] - "Glued" attributes bug fixed etc.
  • Dev - [alg_product_id] shortcode added.
  • Dev - [alg_product_time_since_last_sale] - Code refactoring.
  • Dev - Link updated from http://coder.fm to https://wpcodefactory.com.
  • Dev - Plugin header ("Text Domain" etc.) updated.
  • Dev - Code cleanup and minor fixes.
  • Dev - POT file added.

1.1.1 - 15/01/2017

  • Fix - "If plugin is enabled" check fixed.

1.1.0 - 12/01/2017

  • Fix - "Variable Products" option description and attributes fixed.
  • Dev - Settings for each feed moved to separate section.
  • Dev - [alg_current_datetime] shortcode added.
  • Dev - Link to all available shortcodes added.

1.0.0 - 10/01/2017

  • Initial Release.

Frequently Asked Questions

Q. How to include custom fields in the feed?

A. What you need is [alg_product_meta] shortcode, e.g.:

<my_custom_field>[alg_product_meta name="my_custom_field"]</my_custom_field>

Q. How do I find and replace multiple values in shortcode's output?

A. You need to use find_replace_sep global attribute in a shortcode. E.g.: in the example below find1 will be replaced with replace1 and find2 will be replaced with replace2:

<product_short_description>[alg_product_short_description find_replace_sep="," find="find1,find2" replace="replace1,replace2"]</product_short_description>

Free version

This plugin is a premium version of free "Product XML Feeds for WooCommerce" plugin.

Developers

If you need some specific product property to be outputted in XML feed and it's not covered by one of plugin's shortcodes, you can add your own custom shortcodes to be used in plugin's XML templates. For example, if you need to output product's shipping price for "Flat rate" method, based on product's shipping class, you could add something like this to your (child) theme's functions.php file:

add_shortcode( 'my_alg_product_shipping_cost_flat_rate', 'my_alg_product_shipping_cost_flat_rate' );
if ( ! function_exists( 'my_alg_product_shipping_cost_flat_rate' ) ) {
    /*
     * my_alg_product_shipping_cost_flat_rate.
     */
    function my_alg_product_shipping_cost_flat_rate( $atts, $content = '' ) {
        if ( isset( $atts['shipping_instance_id'] ) ) {
            global $product;
            if ( $product ) {
                $shipping_class       = $product->get_shipping_class();
                $shipping_class_term  = get_term_by( 'slug', $shipping_class, 'product_shipping_class' );
                $shipping_method      = new WC_Shipping_Flat_Rate( $atts['shipping_instance_id'] );
                $shipping_class_cost  = $shipping_class_term && $shipping_class_term->term_id ?
                    $shipping_method->get_option( 'class_cost_' . $shipping_class_term->term_id, $shipping_method->get_option( 'class_cost_' . $shipping_class, '' ) ) :
                    $shipping_method->get_option( 'no_class_cost', '' );
                return $shipping_class_cost;
            }
        }
        return '';
    }
}

And then use [my_alg_product_shipping_cost_flat_rate] shortcode in plugin's settings (i.e. in "XML item" template):

<shipping_price_flat_rate_zone_X>[my_alg_product_shipping_cost_flat_rate shipping_instance_id="28"]</shipping_price_flat_rate_zone_X>

Prices & Licenses

Single siteUnlimited sites
1 year[buy] $19.99 / year[buy] $29.99 / year
Lifetime[buy] $39.99[buy] $59.99

Installation and Updates

  • Buy the plugin 🙂
  • Download plugin's zip to your computer (you will receive an email with download link, or you can always download the plugin from your account).
  • Go to "Admin Dashboard > Plugins > Add New > Upload Plugin" and browse for downloaded zip file.
  • If plugin is successfully installed - you should see it added to the Plugins list.
  • To keep WPFactory items up to date, please install WPFactory Helper plugin and enter your site key.

Refunds

We want to ensure that you are 100% happy with your purchase, so if you feel the product(s) you purchased are not the best fit for your requirements and you attempted to resolve issues with product's author, we are offering 30 day money back guarantee refund policy.