Plugin pro WooCommerce – Ajax košík do menu
Pro holandskou společnost btdonline.nl jsem vytvořil košík pro WooCommerce, který je možné jednoduše přidat do menu eshopu a kde je možné měnit počet kusů a odebírat produkty bez načtení stránky.
I když to je poměrně jednoduché zadání, přineslo několik výzev. Jednou z nich bylo to, aby plugin fungoval i s dalšími pluginy, které přidávají Ajax funkcionalitu do WooCommerce, např. YITH added to cart a dalšími.
Při procházení kódu WooCommerce jsem narazil na filtr add_to_cart_fragments, který umožňuje přesně to, co jsem hledal – obnovit některou část stránky při změně obsahu košíku. Tento filtr je používán například pro obnovování standardní stránky Košík. Pro obnovování košíku v menu tedy stačilo přidat:
[php]
add_filter(‘add_to_cart_fragments’, array($this, ‘woocommerce_header_add_to_cart_fragment’));
/**
* Add the mini-cart to cart fragments, so it gets updated automatically when the cart is changed
* This should help with the compatibility with other WC plugins
* @param $fragments
* @return mixed
*/
function woocommerce_header_add_to_cart_fragment($fragments)
{
$fragments[‘#wmc-cart’] = $this->render_mini_cart();
return $fragments;
}
[/php]
Výsledkem je plugin, který zobrazí košík pro WooCommerce v menu, umožní měnit množství a odebírat produkty bez znovunačtení stránky, a funguje dobře s ostatními pluginy pro WooCommerce.
Pokud budete mít o podobný plugin zájem nebo potřebujete jinou funkcionalitu pro WordPress nebo WooCommerce, neváhejte mě kontaktovat
Václav Greif se programování pro Wordpress věnuje více než 16 let. Za tu dobu nasbíral mnoho zkušeností s tvorbou pluginů pro Wordpress, úpravou šablon a programováním komplexních funkcionalit. Věnuje se programování pro Wordpress a školení programátorů.