Skip to content

Food products module

Selling food online requires providing information about composition, nutritional values, allergens and product origin (EU Regulation 1169/2011). Polski for WooCommerce provides a complete module for managing this data.

The FIC Regulation obliges food sellers to provide the following information:

InformationRequiredLegal basis
Food nameYesArt. 9(1)(a)
List of ingredientsYesArt. 9(1)(b)
AllergensYesArt. 9(1)(c)
Quantity of ingredientsConditionalArt. 9(1)(d)
Net quantityYesArt. 9(1)(e)
Date of minimum durabilityYesArt. 9(1)(f)
Storage conditionsConditionalArt. 9(1)(g)
Producer dataYesArt. 9(1)(h)
Country of originConditionalArt. 9(1)(i)
Nutritional valueYesArt. 9(1)(l)

For distance selling (online store), most of this information must be available before purchase - except the date of minimum durability, which can be provided upon delivery.

The food module consists of several sub-modules that can be enabled independently:

Nutrition facts table per 100 g or 100 ml of product. Includes energy (kJ/kcal), fats, carbohydrates, protein, salt and other nutrients.

Details: Nutritional values

Allergen declaration system based on WordPress taxonomy. 14 main allergens according to Annex II of the FIC Regulation.

Details: Allergens

Display of Nutri-Score labels (A-E) with appropriate colors and CSS classes.

Details: Nutri-Score

Text field for the full product ingredients list. Allergens in the list are automatically highlighted in bold according to FIC requirements.

Fields for managing information about alcoholic products:

FieldDescription
Alcohol content (% vol.)Percentage alcohol content
WarningMessage about prohibition of sale to minors
Age verificationCheckbox for confirming legal age when adding to cart

For beverages with an alcohol content above 1.2% vol., indicating the alcohol content on the label is required (Art. 28 FIC).

Field for country of origin or place of provenance information. Required for:

  • meat (beef, pork, poultry, lamb)
  • fruits and vegetables
  • fish
  • olive oil
  • honey
  • products where lack of information could mislead the consumer

Go to WooCommerce > Settings > Polski > Food and activate the module and select the sub-modules you need.

SettingDescription
Reference unitDefault unit: per 100 g or per 100 ml
Position on product pageWhere to display information (tab, below description, sidebar)
Display on listingWhether to show condensed information on category pages
Automatic allergen highlightingBold allergen names in the ingredients list

Food product information can be displayed in several places:

  1. New tab (recommended) - separate “Food Information” tab next to description and reviews
  2. Below description - directly below the product description
  3. In metadata - in the SKU/categories section
  4. Custom - using shortcodes anywhere

After activating the food module, a new “Food” tab appears in the product editor with the following sections:

  • Nutritional values - table with fields for all nutrients
  • Ingredients - text field (WYSIWYG) for the ingredients list
  • Allergens - checkbox allergen list
  • Nutri-Score - A-E level selection
  • Alcohol - fields related to alcoholic beverages
  • Origin - country of origin and place of provenance

All food data can be imported in bulk via CSV:

CSV columnDescriptionFormat
polski_nutrientsNutritional valuesJSON
polski_ingredientsIngredients listText
polski_allergensAllergensSlugs separated by commas
polski_nutri_scoreNutri-ScoreLetter A-E
polski_alcohol_contentAlcohol contentNumber (e.g. 5.0)
polski_country_of_originCountry of originText

Example:

"Orange juice 1L",'{"energy_kj":180,"energy_kcal":43,"fat":0.1,"carbohydrates":9.8,"sugars":8.4,"protein":0.7,"salt":0.01}',,"",B,,Spain

The module automatically generates Schema.org-compliant structured data:

{
"@type": "Product",
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "Energy value",
"value": "250 kcal / 1046 kJ"
}
],
"hasAllergen": ["gluten", "milk"],
"countryOfOrigin": {
"@type": "Country",
"name": "Poland"
}
}
add_filter('polski/food/custom_fields', function (array $fields): array {
$fields['organic_certified'] = [
'label' => 'Organic certificate',
'type' => 'select',
'options' => [
'' => 'None',
'eu_bio' => 'EU Bio',
'demeter' => 'Demeter',
],
];
return $fields;
});
add_filter('polski/food/display_html', function (string $html, int $product_id): string {
// Modify HTML before display
return $html;
}, 10, 2);

”Food” tab does not appear in the product editor

Section titled “”Food” tab does not appear in the product editor”
  1. Check that the food module is enabled in settings
  2. Verify that the product is not of the “external/affiliate” type (the module does not support this type)
  3. Clear browser cache and reload the admin panel

Allergens are not bolded in the ingredients list

Section titled “Allergens are not bolded in the ingredients list”

Make sure the “Automatic allergen highlighting” option is enabled and that allergen names in the list match names in the taxonomy.

Check the data format - values must be numbers (with a dot as the decimal separator in the database). The plugin automatically formats the display according to Polish regional settings (comma).

This page is for informational purposes only and does not constitute legal advice. Consult a lawyer before implementation. Polski for WooCommerce is open source software (GPLv2) provided without warranty.