How to make feed for Polylang languages?.

If you translate your store with Polylang, you will want a separate feed for each language — a French feed with French titles and URLs, a German feed with German ones — so each campaign speaks to shoppers in their own language. CTX Feed reads the languages you set up in Polylang and can build a feed limited to one of them, exporting the translated title, description, product link, and categories. This guide shows how.

Multilingual (Polylang) feeds require CTX Feed Pro. The per-feed Feed Language selector is unlocked with a Pro licence; without it the field appears locked. Polylang itself must also be installed and your products translated.

Use one translation plugin at a time: if several are active, CTX Feed uses only one of them and shows a notice.

How Polylang feeds work in CTX Feed

Polylang stores each language’s version of a product as a separate, linked item. When you choose a language for a feed, CTX Feed includes only the products that exist in that language and pulls each product’s translated values — its title, description, permalink, and category — so the whole feed is in one language. You end up with one feed file per language, each ready to submit to the matching regional campaign.

Products that have no translation in the chosen language are left out of that language’s feed, which keeps each feed clean and consistent. This is strict on purpose and matches how Polylang itself hides untranslated products on a secondary-language shop page (WPML stores behave differently — see the WPML guide).

Before you start

  1. Install and activate Polylang (and Polylang for WooCommerce if you translate WooCommerce-specific data).
  2. In Polylang, add every language you want a feed for.
  3. Translate your products — at minimum the title, description, and categories — into each language. A feed can only carry values that actually exist as translations.
  4. Activate and license CTX Feed Pro (CTX Feed → System → License).

Create a feed for one language

  1. Go to CTX Feed → Make Feed.
  2. Choose the country/channel and template — for example a Google Shopping XML feed for the target market.
  3. In the feed settings, open the Feed Language selector and pick the language for this feed (for example Deutsch). This field lists the languages configured in Polylang, under the names you gave them there.
  4. Name the feed so the language is obvious, such as google-shopping-de.
  5. Set up the Config tab (attribute mapping), any Filters, and the schedule as usual. Map the standard attributes — title, description, link, image, price, and category — and CTX Feed fills them with the selected language’s values. If you add a category filter, pick that language’s own category (Polylang keeps a separate category per language); a category from another language matches nothing in this feed.
  6. Save and generate the feed.
CTX Feed Make Feed Feed settings card on a Polylang store with the Feed Language set to Deutsch, six fields numbered
  1. Country — the target market.
  2. Template — the channel (e.g. Google Shopping).
  3. File type — the output format.
  4. Feed Language — the Polylang language this feed is built in; the selector appears only while Polylang is active and lists the languages you configured there.
  5. Include variations — variable-product handling.
  6. Update interval — the rebuild schedule.

The generated feed contains only that language’s products with their translated content. Copy its URL from Manage Feeds to submit to the channel.

Create a feed for each language

Repeat per language, and duplicating saves you from rebuilding:

  1. Build the first language’s feed with the steps above.
  2. From Manage Feeds, open the feed’s ⋮ (more actions) menu and choose Duplicate.
  3. Rename the copy, open it, and change the Feed Language to the next language.
  4. Save and regenerate. Repeat for every language.

Because the copy keeps the same channel, template, and mapping, all your language feeds stay identical apart from the language.

Submitting language feeds to Google

For Google Shopping, submit each language feed to the feed/label that targets the country and language it is written for, and make sure the feed’s language and currency match that market’s settings in Merchant Center. Keep the product links pointing at the correct language URLs — CTX Feed exports the translated permalink for each item, so shoppers land on the right-language product page.

Troubleshooting

  • The Feed Language selector is locked or missing. It needs both CTX Feed Pro (activate your licence) and an active Polylang install with more than one language configured.
  • The feed contains both languages, or a language feed comes out empty or with default-language links. Confirm you selected a specific language in the feed settings (not the default), then Regenerate. If it persists, update to CTX Feed 8.0.26 and CTX Feed Pro 8.0.16 — earlier versions could lose the feed language partway through a background batch — then Clear Cache on Manage Feeds and regenerate.
  • Some products are missing from a language feed. Those products have no translation in that language; Polylang feeds are strict and never fall back to the original language. Add the translation in Polylang, then regenerate.
  • A category filter leaves the feed empty. The filter is using a category from another language. Edit the filter and choose the category as it exists in the feed’s language.
  • No languages are listed at all. Polylang must have Products enabled as a translatable post type (Languages → Settings → Custom post types and Taxonomies); otherwise CTX Feed sees no languages.
  • Titles or categories are not translated. Make sure the product’s title, description, and categories are actually translated in Polylang (categories need translating too), then regenerate the feed.
  • Prices need to differ per market as well as language. Language and currency are separate. Combine a language feed with a currency switcher to also convert prices — see the multi-currency guide below.
Try CTX Feed for WooCommerce - Free Download or Upgrade to Pro

Leave a comment.