Wo WooCommerce Gemiddeld

Carbon Footprint + Offset Checkout: volledige handleiding

Volledige handleiding van de WooCommerce-plugin voor koolstofcompensatie: configuratie, voetafdrukberekening, productbadge, afrekenen, CSRD-rapportage en hooks voor ontwikkelaars.

Bijgewerkt Moduleversie 1.0.0

Installatie

Carbon Footprint + Offset Checkout is een gewone WooCommerce-plugin, die u net als elke andere plugin installeert.

  1. Download de ZIP df-carbon-offset.zip vanaf de productpagina van DataFirefly.
  2. Ga in uw WordPress-beheer naar Plugins → Nieuwe plugin → Plugin uploaden.
  3. Selecteer het ZIP-bestand, klik op Nu installeren en daarna op Activeren.
  4. Er verschijnt een nieuw item Carbon Footprint in het WooCommerce-zijmenu.

Vereisten: WordPress 6.0 of hoger, WooCommerce 7.0 of hoger, PHP 7.4 minimaal (PHP 8.1+ aanbevolen). De plugin verklaart uitdrukkelijk haar compatibiliteit met HPOS en met de Cart- en Checkout-blokken, dus er verschijnt geen waarschuwing in de WooCommerce-status.

Bij de activering worden automatisch twee SQL-tabellen aangemaakt: {prefix}dfcarbon_factors (emissiefactoren) en {prefix}dfcarbon_log (logboek van de compensaties). De ADEME-basis wordt meteen gevuld met ongeveer 25 vooraf geladen factoren.

Eerste configuratie

De plugin werkt zonder configuratie zodra ze actief is: de ADEME-factoren zijn geladen, de badge verschijnt op alle productpagina’s en de compensatie verschijnt bij het afrekenen. Toch leveren enkele beginaanpassingen veel relevantere cijfers op.

Algemene instellingen

Ga naar Carbon Footprint → Instellingen. Er zijn vier blokken met parameters:

  • Climatiq API: optioneel. Laat dit leeg voor een volledig lokale werking op de ADEME-factoren.
  • Compensatie: het blok bij het afrekenen inschakelen, de prijs per ton (standaard 25 euro per ton, gangbaar in de markt is 15 tot 30 euro per ton), de getoonde partner (standaard Gold Standard) en de tekst voor de klant.
  • Transport: de transportcomponent inschakelen, de gemiddelde afstand in kilometer (standaard 500 km) en de emissiefactor voor transport (standaard wegvervoer).
  • Weergave: de positie van de badge op de productpagina (5 hooks beschikbaar), de stijl (kaart, pil, minimaal), de kleur en de prioriteit van de hook.

Categorieën aan factoren koppelen

Dit is de stap met het meeste effect. Ga naar Carbon Footprint → Koppeling. Kies voor elke WooCommerce-productcategorie de meest passende emissiefactor uit de ADEME-basis.

Zonder koppeling gebruiken al uw producten de factor general (4,50 kgCO₂e per kg), wat erg grof is. Een zorgvuldige koppeling tilt het resultaat van een “orde van grootte” naar een “geloofwaardige raming voor rapportage”.

De Climatiq API inschakelen (optioneel)

Climatiq is een database met meer dan 80.000 emissiefactoren, die op sommige gebieden fijnmaziger is dan de Base Empreinte van ADEME (elektronica in detail, cosmetica per bestanddeel, voeding per keten). Hebt u een sleutel:

  1. Maak een account aan op climatiq.io (er is een gratis niveau voor gematigd gebruik).
  2. Kopieer de API-sleutel naar Carbon Footprint → Instellingen → Climatiq API.
  3. Klik op Verbinding testen om te valideren.

Eenmaal actief wordt de Climatiq API als tweede prioriteit gebruikt (na een eventuele handmatige override op het product) en vóór de ADEME-koppeling. Elk resultaat blijft een week in de cache, dus er zijn geen extra aanroepen bij het weergeven van pagina’s.

Hoe de voetafdrukberekening werkt

Prioriteiten van de berekening

Per product bepaalt de plugin de voetafdruk via vier bronnen, in deze strikte volgorde:

  1. Handmatige override op het product: hebt u een waarde ingevuld op het tabblad “Carbon” van de productpagina (meta _dfcarbon_kgco2e), dan wordt die gebruikt. Ze gaat vóór alle andere bronnen.
  2. Climatiq API: als er een API-sleutel is ingesteld en het product een gewicht of een opvraagbare categorie heeft.
  3. ADEME-factor via de koppeling: de factor die aan de categorie van het product is toegewezen, toegepast op het gewicht.
  4. Algemene terugval: de factor general (4,50 kgCO₂e per kg) toegepast op het gewicht, of een forfaitaire waarde als er geen gewicht is ingevuld.

De berekening wordt gecachet via de object-API van WordPress (groep dfcarbon_product) en automatisch ongeldig gemaakt bij elke wijziging van een productpagina of van de koppeling.

Transportcomponent

Is die ingeschakeld, dan wordt de transportcomponent bij de materiaalvoetafdruk opgeteld:

totale_voetafdruk = materiaalvoetafdruk + (gewicht_kg × afstand_km × transportfactor_tkm)

De standaardfactor voor wegvervoer is 0,105 kgCO₂e per tonkilometer (bron ADEME, gemiddelde vrachtwagen). U kunt de transportfactor in de instellingen wijzigen, of overschakelen op een andere factor (zeevracht, luchtvracht en dergelijke) als u die aan de basis toevoegt.

De transportcomponent slaat alleen op het transport stroomafwaarts (van het magazijn naar de klant). De materiaalvoetafdruk uit de ADEME-factor omvat al de productie en het transport stroomopwaarts.

Meegeleverde ADEME-emissiefactoren

De plugin wordt geleverd met ongeveer 25 vooraf geladen factoren uit de Base Empreinte van ADEME (Frankrijk). De belangrijkste sectoren die worden gedekt:

  • Textiel: standaardkledingstuk, katoen, wol, synthetisch, schoenen
  • Elektronica: smartphone, laptop, klein huishoudapparaat, groot huishoudapparaat
  • Voeding: rund, varken, gevogelte, vis, zuivel, droge kruidenierswaren
  • Cosmetica: lichaamsverzorging, make-up, parfumerie
  • Wonen: houten meubilair, metalen meubilair, huishoudtextiel
  • Papier: boek, tijdschrift, verpakkingskarton
  • Sport: sportuitrusting, sportkleding
  • Sieraden: modesieraden, zilver, goud
  • Transport: wegvervoer, zeevervoer
  • Terugval: general (4,50 kgCO₂e per kg)

U kunt uw eigen factoren bekijken, bewerken, verwijderen of toevoegen via Carbon Footprint → Factoren. Elke factor heeft een unieke slug, een aanduiding, een waarde in kgCO₂e per eenheid, een eenheid (standaard kg), een bron (ADEME, Climatiq, eigen en dergelijke) en een jaartal.

Met de knop De standaard ADEME-waarden opnieuw laden herstelt u de oorspronkelijke basis zonder uw eigen toevoegingen te overschrijven: alleen ontbrekende ADEME-slugs worden opnieuw ingevoegd.

De productbadge

Beschikbare stijlen

Er zijn drie weergaven om uit te kiezen (in te stellen via Instellingen → Weergave → Stijl van de badge):

  • Kaart (uitgebreid): een volledig blok met de voetafdruk, de bron, twee verhelderende vergelijkingen (autokilometers, jaren van een boom) en de compensatieprijs.
  • Pil in de tekst: een compacte badge “🌱 5,2 kg CO₂e” naast de prijs.
  • Minimale tekst: alleen de waarde, zonder kader.

Posities

De badge haakt aan op een van de standaard WooCommerce-hooks:

  • after_price: vlak na de prijs (standaard)
  • before_add_to_cart: vóór de knop om aan de winkelwagen toe te voegen
  • after_add_to_cart: na die knop
  • before_meta: vóór de productmetagegevens
  • after_summary: na de volledige productsamenvatting

Past geen enkele positie bij uw thema, gebruik dan de shortcode [dfcarbon_badge] rechtstreeks in een template of in een visuele builder (Elementor, Divi, Gutenberg en andere).

Verbergen bij bepaalde producten

Vink op het tabblad Carbon van een productpagina de optie “Badge verbergen” aan. De voetafdrukberekening blijft actief (handig voor de rapporten en het afrekenen), maar de publieke weergave verdwijnt. Praktisch voor digitale producten, cadeaubonnen of diensten.

Compensatie bij het afrekenen

Bij het afrekenen plaatst de plugin een blok tussen het besteloverzicht en de betaalmethode. Dat blok bevat:

  • de geschatte voetafdruk van de winkelwagen (de som van de voetafdrukken van alle artikelen maal hun aantal);
  • de bijbehorende compensatiekosten (voetafdruk maal de prijs per ton);
  • een optioneel selectievakje “Ja, ik voeg X euro toe om de impact van mijn bestelling te compenseren”;
  • een instelbare beschrijvende tekst waarin de partner wordt genoemd (Gold Standard, Verra en andere).

Vinkt de klant het vakje aan, dan wordt er via de hook woocommerce_cart_calculate_fees een dynamische WooCommerce-fee aan het totaal toegevoegd. De status wordt in de WooCommerce-sessie bewaard (dfcarbon_offset_active) en daarna op de bestelling vastgelegd via de meta _dfcarbon_cart_kgco2e, _dfcarbon_offset_active, _dfcarbon_offset_amount en _dfcarbon_offset_provider.

Belangrijk: de plugin int de compensatie bij uw klanten, maar koopt de koolstofkredieten niet in uw plaats. Dat is een bewuste keuze, zodat u zelf het moment, het kanaal en de partner bepaalt (Gold Standard, Verra, Ecologi, MyClimate en andere). Het dashboard toont u bij elke betaalcyclus bij uw partner het totaal dat u moet inlossen.

Dashboard en rapporten

Het menu Carbon Footprint → Dashboard toont de algemene indicatoren:

  • het totale aantal gecompenseerde bestellingen;
  • de cumulatieve CO₂-voetafdruk die op de bestellingen is gemeten;
  • de CO₂-voetafdruk die daadwerkelijk is gecompenseerd;
  • het totale bedrag dat in compensatie is geïnvesteerd.

Het menu Carbon Footprint → Rapporten geeft per gecompenseerde bestelling het detail: datum, bestelnummer, voetafdruk van de bestelling, gecompenseerde kilogrammen, bedrag en partner. Die tabel voedt rechtstreeks uw niet-financiële CSRD-rapportage of elke aanvraag voor een duurzaamheidsaudit.

Er wordt ook per bestelregel een momentopname van de voetafdruk bewaard (meta _dfcarbon_line_kgco2e): de getoonde waarden veranderen dus niet met terugwerkende kracht wanneer u later een ADEME-factor aanpast.

Beschikbare shortcodes

Er zijn drie publieke shortcodes om de elementen overal op uw site in te voegen:

[dfcarbon_badge id="123" style="card"]

Toont de koolstofbadge van een specifiek product. id is verplicht, style is optioneel (card standaard, of pill of minimal).

[dfcarbon_cart_summary]

Toont de voetafdruk van de huidige winkelwagen en de compensatiekosten. Handig op een eigen winkelwagenpagina of in een zijpaneel met de winkelwagen.

[dfcarbon_stats]

Een publiek blok met de geaggregeerde cijfers: gecompenseerde tonnen, aantal bestellingen en geïnvesteerd bedrag. Ideaal voor een pagina over uw klimaatengagement.

Hooks en filters voor ontwikkelaars

De plugin biedt één hoofdfilter om de voetafdrukberekening volledig te overschrijven:

add_filter( 'dfcarbon_product_footprint', function( $footprint, $product_id, $context ) {
    // $footprint is een array: ['kg' => 5.2, 'source' => 'ademe', 'breakdown' => [...]]
    // Geef een aangepaste array terug om te overschrijven
    return $footprint;
}, 10, 3 );

Andere nuttige hooks:

  • dfcarbon_daily_sync: dagelijkse WP-Cron-actie (opruiming van de Climatiq-transients)
  • dfcarbon_before_offset_fee: actie vóór het toevoegen van de compensatiefee
  • dfcarbon_offset_purchased: actie die afgaat bij het vastleggen op de bestelling

De plugin gebruikt de PHP-namespace DataFirefly\CarbonOffset. Om via een mu-plugin of een childthema programmatisch een factor toe te voegen, importeert u de klasse Database:

use DataFirefly\CarbonOffset\Database;

Database::upsert_factor( [
    'slug'   => 'mijn-factor',
    'label'  => 'Mijn specifieke sector',
    'value'  => 2.35,
    'unit'   => 'kg',
    'source' => 'Eigen',
    'year'   => 2026,
] );

Meertaligheid (Polylang en WPML)

De plugin werkt met Polylang Pro en WPML. De 5 meegeleverde talen (FR, EN, ES, DE, IT) staan in de map languages/, met de .po– en .mo-bestanden al gecompileerd.

Een vertaling bijstellen doet u zo:

  1. Installeer Loco Translate (een gratis plugin) of gebruik Poedit lokaal.
  2. Open de catalogus df-carbon-offset-fr_FR.po.
  3. Bewerk de gewenste teksten.
  4. Compileer opnieuw naar .mo; in Loco Translate gebeurt dat automatisch.

Om een taal toe te voegen die niet is meegeleverd (Portugees, Nederlands en andere), dupliceert u een bestaande .po, hernoemt u die naar de juiste locale (df-carbon-offset-pt_PT.po, df-carbon-offset-nl_NL.po en zo verder), vertaalt u ze en compileert u ze.

Verwijderen

De plugin ruimt bij het verwijderen netjes op, via uninstall.php:

  • de tabellen dfcarbon_factors en dfcarbon_log worden verwijderd;
  • de opties dfcarbon_settings en dfcarbon_db_version worden verwijderd;
  • de postmeta _dfcarbon_* op alle producten en bestellingen worden verwijderd;
  • de cron dfcarbon_daily_sync wordt uit de planning gehaald;
  • de Climatiq-transients worden opgeruimd.

Het verwijderen is destructief: het logboek van eerdere compensaties gaat verloren. Hebt u het nodig voor een CSRD-audit, exporteer dan de tabel Rapporten vóór de verwijdering.

Veelgestelde vragen

Kan ik een specifieke factor op een product afdwingen zonder de categorie te wijzigen?

Ja. Kies op het tabblad Carbon van de productpagina een factor in de keuzelijst “Emissiefactor”. Die gaat voor dat ene product vóór de categoriekoppeling.

Wat gebeurt er als mijn product geen gewicht heeft?

De berekening gebruikt dan een forfaitaire waarde voor producten zonder gewicht (behandeld als “eenheid”). U kunt ook de handmatige override gebruiken om de waarde in kg CO₂e rechtstreeks in te vullen.

Werkt de plugin met variabele producten?

Ja. De voetafdruk wordt berekend op het niveau van het bovenliggende product (via gewicht en categorie), wat in de meeste gevallen klopt. Wilt u het per variatie sturen, gebruik dan het filter dfcarbon_product_footprint.

Hoe ga ik om met downloadbare (digitale) producten?

Vink bij een puur digitaal product (e-book, online opleiding, softwarelicentie) “Badge verbergen” aan en laat de berekening op de algemene terugval uitkomen (de impact blijft minimaal als het product geen gewicht heeft). Als alternatief gebruikt u de handmatige override met een kleine waarde (doorgaans 0,01 tot 0,1 kg CO₂e voor een e-book).

Kan ik een product van de compensatie bij het afrekenen uitsluiten?

De compensatie geldt voor de winkelwagen als geheel, niet per product. Moet een product volledig buiten de berekening blijven, gebruik dan het filter dfcarbon_product_footprint om een array met ['kg' => 0] terug te geven.

Doet de plugin bij elke paginaweergave API-aanroepen?

Nee. Elke productvoetafdruk wordt gecachet via de object-API van WordPress. De Climatiq-aanroepen (indien ingeschakeld) blijven zelf een week als transient in de cache. Een productpagina start geen enkele externe aanroep.

Compatibel met caches (WP Rocket, LiteSpeed, W3TC)?

Ja, volledig. De badge wordt aan de serverzijde statisch gerenderd. Het dynamische deel (het compensatievakje bij het afrekenen) verloopt via AJAX en heeft geen invloed op het cachen van de productpagina.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support