WooCommerce v nové verzi, vydané 16.11.2023, zavádí pro nové instalace e-shop, jako defaultní bloky pro košík, pokladnu a děkovnou stránku.
Verze 8.3 WooCommerce byla trochu opožděna, jelikož hlavní vývojáři se zaměřili na zajištění kompatibility s nejnovějšími aktualizacemi WordPressu 6.4 a také s připravovanou verzí PHP 8.3, která má vyjít 23. listopadu 2023. Cílem bylo také dát dostatek času vývojářům pluginů, aby se přizpůsobili novému standardu, kde jsou bloky pro košík a pokladnu nastaveny jako výchozí. Dokument s nejčastějšími otázkami poskytuje instrukce pro vývojáře, kteří potřebují upravit své doplňky pro zachování kompatibility.
Vývojáři, jejichž pluginy nejsou kompatibilní s novým blokovým systémem pokladny, by měli své produkty označit jako nekompatibilní. Díky tomu WooCommerce může informovat uživatele prostřednictvím upozornění v nastavení. Pro pluginy, které neovlivňují košík a pokladnu, nejsou potřeba žádné změny.
Tato změna se nedotkne stávajících instalací, pokud nesmažete shortcody, které jsou umístěné ve stránce košíku a pokladny.
Jestliže chcete vyzkoušet novou funkci, stačí je odstranit a nedefinovat si stránku pokladny v editoru.
Problém nastává u pluginů, které nějakým způsobem zasahují do funkce košíku a pokladny. Buď budou deklarovány jako kompatibilní, nebo nebudou fungovat.
Takže se může stát, že pluginy, na které jste byli zvyklí, přestanou plnit svou funkci.
Pro deklaraci kompatibility musí mít plugin v hlavičce uveden zápis:
WC tested up to: 8.0
Následně pak musí být pro pluginy nekompatibilní v kódu funkce:
add_action( 'before_woocommerce_init', function() {
if ( class_exists( '\Automattic\WooCommerce\Utilities\FeaturesUtil' ) ) {
\Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'cart_checkout_blocks', __FILE__, false );
}
} );
Analogicky pro kompatibilní pluginy se změní false na true.
Co čekat od nové feature?
Mám z ní poněkud smíšené pocity. Gutenberg block je uzavřená část kódu, do kterého se dá velmi těžko zasahovat. U jednoho nového e-shopu jsem musel napsat vlastní side cart, protože do výchozího, který je ve Woo, nešly doplnit žádné věci navíc, například informace o dopravě zdarma.
Sice zůstávají funkční hooky, ale již neovlivníte html kód bloků. V původní verzi to bylo snadné, vzali jste soubor, který jste chtěli upravit a předělali jste ho k obrazu svému (nebo UXákově obrazu). Z jednoduché pokladny se pak dal udělat více korkový proces, jako například na tomto e-shopu.
Navíc, ne všechny hooky zůstanou, zde je seznam.
Budete muset více testovat pluginy dostupné na trhu a u nových e-shopů nemusí fungovat starší návody a kód.
Moc z této změny nadšený nejsem a u nových instalací budu tuto novinku vypínat.