Ve WooCommerce je možné každému produktu přiřadit hmotnost. V tomto tipu si ukážeme, jak si uložit celkovou hmotnost produktů v košíku k vytvořené objednávce.
Problém totiž je, že když vytvoříme objednávku, tak se hmotnost objednávky nikam neukládá. Musíme si tedy trochu pomoci.
Snippet jsem složil ze dvou částí a to uložení hmotnosti košíku k objednávce a potom aktualizací všech již vytvořených objednávek.
Uložení hmotnosti objednávky při jejím vytvoření
Postup je jednoduchý, košík má uloženou celkovou hmotnost, kterou získáme get_cart_contents_weight a pomocí akce woocommerce_checkout_update_order_meta uložíme.
Aktualizace všech vytvořených objednávek
Protože uložení hmotnosti u nových objednávek je nám k ničemu, pokud potřebujeme zapsat hmotnost i u stávajících objednávek.
Proto si pomocí wc_get_orders načteme všechny objendávky ve stavu proccessin a completed, projdeme si je, zjistíme u všech produktů jejich hmotnost a tu si uložíme.
Snippet
Tímto snippetem jsem navázal na minulý, kde jsme si vytvořili ve výpisu administrace objednávek nový sloupec, právě s hmotností – Jak přidat sloupec do administrace objednávek a udělat jej řaditelným
Další užitečné snippety najdete na stránce Užitečné snippety pro WooCommerce