Quantcast
Channel: Woocommerce Archivy - Musilda.cz
Viewing all 189 articles
Browse latest View live

Cena produktu při změně měny ve WPML

$
0
0

Dnešní snippet je zde především proto, abych jej našel, až jej budu někdy potřebovat. Což asi nebude tak často.

Snippet řeší získání aktuální ceny produktu ve WooCommerce, pokud máte na eshopu více měn a používáte WPML a jejich WooComerce Multilingual.

Nejprve musíme získat cenu produktu a k tomu využijeme get_price, metodu abstraktní třídy WC_Product. Já ve snippetu nemám k dispozici objekt produktu, takže jej musím vytvářet, ale pokud jej vy máte, tak jej znovu nevytvářejte.

$product = new WC_Product($product_id);
$price = $product->get_price();

To je poměrně jednoduchá věc a i získání ceny dle aktuální měny je jednoduché, jen se to špatně hledá. WPML má totiž filter „wcml_raw_price_amount“, který to za vás obstará.

$current_price = apply_filters( 'wcml_raw_price_amount', $price );

Cena, kterou dostanete, je však v číselném formátu, což mě v tomto případě vyhovovalo. Pokud by jste ji chtěli vypsat na webu, museli by jste ji ještě přeformátovat, o což se postará funkce wc_price()

echo wc_price($current_price);

A toť vše.


Boemia shop free WooCommerce šablona

$
0
0

Rozdíl mezi premium a free šablonou je v její kvalitě a vzhledu. A Boemia shop se ukazuje jako kvalitní konkurent prémiových šablon.

Za touto šablonou stojí poměrně známé a úspěšné studio YIThemes. S jeho produkty se určitě setkal každý, kdo má eshop na WooCommerce. Vytvořili několik free pluginů, jenž jsou používány i dalšími vývojáři, uvedu například Wishlist, který ve free verzi obsahuje snad každá šablona na ThemeForest.

Nyní již k samotné šabloně. Ta je podobně, jako téměř vše, co toto studio nabízí, k dispozici ve free, nebo premium verzi.

Prémiová verze obsahuje vše, co je dnes považováno za „nezbytnou“ výbavu placené šablony. Takže pokud nepotřebujete mít na výběr ze sedmi sliderů, 4 portfolií a podobně, je free verze naprosto dostačující, díky velmi elegantnímu vzhledu. Navíc obsahuje několik free pluginů od Yithemes, které rozšiřují její funkčnost.

boemia-after-install

 

Osobně nejsem příznivec bezhlavého instalování, protože si například nedovedu představit, jak je využívaný již zmíněný wishlist. Ale třeba Ajax search je super doplněk.

Protože šablona obsahuje dummy data, může váš eshop hned po instalaci vypadat takto

boemia-shop

Určitě mi dáte za pravdu, že ve srovnání s jinými free šablonami, je tato velmi povedená. Což je vidět i na detailu produktu.

boemia-detail

Protože se jedná o free variantu premium šablony, je k dispozici i komplexní Theme option panel

boemia-admin

 

Šablonu jsem si vyzkoušel na jednom eshopu a mohu ji jenom doporučit. Nemyslím si, že je nutné kupovat „přeplácané“ šablony, kde je spousta funkcí, které nevyužijete.

Info o šabloně – obsahuje i informace o prémiové verzi, může to být matoucí.

 

Podmiňovací tagy ve WooCommerce

$
0
0

Podmiňovací tagy můžete znát přímo z WordPressu, ale obsahuje je i WooCommerce. Jak je používat a co vlastně jsou podmiňovací tagy zjistíte v tomto článku.

Mezi těmi, kdo vytvářejí webové stránky, je výraz „tag“ spojen spíše s HTML. Ale ve WordPressu se používá výraz „podmiňovací tag“ pro označení funkce zjišťující o jakou aktuální stránku jde .

Jak fungují podmiňovací tagy

Určitě jste se již setkali se zápisem if(is_single()){ … }.

V podmínce je uzavřena funkce is_single(), jenž zjišťuje, zda se nacházíte na detailu článku. Tyto funkce vždy vrací true, nebo false, takže díky nim můžete dělit soubory šablony na logické části, jenž se budou zobrazovat jen v určitých případech. Například chcete zobrazit banner pouze na detailu článku, tak použijete právě is_single.

Podmiňovací tagy ve WooCommerce

Stejně jako WordPress, má i WooCommerce své vlastní podmiňovací tagy, pomocí nichž můžete zjistit, na jaké stránce se právě nacházíte. Což je například právě i eshop opravdu často potřeba.

Jaké tagy můžete použít?

WooCommerce stránky

is_woocommerce()

Ověřuje, zda se nacházíte na stránkách WooCommerce, tedy na jakékoliv stránce, jenž souvisí s eshopem. Například na výpisu článků vrátí false, protože články s eshopem nesouvisí.

is_shop()

Vrátí true, pokud se nacházíte na stránce eshopu. Stránka eshopu není výpis kategorie produktu, ale jde o stránku, která se vytvoří při instalaci Woocommerce a často se používá jako hlavní stránka eshopu.

is_product_category()

Zda je jasné o jakou stránku se jedná. Je to výpis kategorie produktu.

is_product_category(‚slug-kategorie‘)

Předchozí použití vrátí true na každí stránce kategorie produktu. Pokud však ve funkci použijete slug (název kategorie v url), bude se podmínka vztahovat jen ke konkrétní kategorii.

is_product_category( array(‚slug-kategorie‘,’slug-kategorie‘))

Pokud potřebujete omezit část kódu jen na konkrétní kategorie, můžete jich zadat celé pole.

is_product_tag()

V případě výpisu produktů dle tagu, je možné použít tuto funkci. Další použití je stejné jako u kategorie, můžete tak zadat jednu, nebo více kategorií přímo do funkce.

is_product()

V případě, že se nacházíte na stránce produktu – jeho detailu, funkce vrátí true.

is_cart()

Jak vyplývá z názvu funkce, zjišťuje se, zda jsme na stránce košíku.

is_checkout()

Obdobně si dokážeme vytvořit podmínku jen pro stránku pokladny

is_account_page()

Na stránce zákaznického účtu využijeme tuto funkci.

Přestože se vám může zdát, že zákaznický účet má stránek více, ve skutečnosti tomu tak není. Různé podstránky jsou generovány pomocí takzvaných endpointů. A ty dokážeme detekovat pomocí následujících funkcí:

is_wc_endpoint_url()

Zjišťuje, zda se nacházíte na některém z endpointů.

is_wc_endpoint_url( ‚order-pay‘ )

Jelikož je většinou nutné detekovat jednotlivé endpointy, umožňuje funkce použít slug endpointu.

Zde je seznam všech endpointů, jež můžete použít.

  • order-pay
  • order-received
  • view-order
  • edit-account
  • edit-address
  • lost-password
  • customer-logout
  • add-payment-method

is_ajax()

Poslední podmiňovací tag se využívá v případě, když chcete zjistit, zda je stránka vytvořená pomocí ajaxu.

Aby jste si byli schopni představit, co se vlastně skrývá za těmito funkcemi, zde je definice funkce is_checkout:

function is_checkout() {
    return is_page( wc_get_page_id( 'checkout' ) ) || apply_filters( 'woocommerce_is_checkout', false ) ? true : false;
  }

V podstatě se jedná o využití funkce is_page a její volání s id stránky pokladny.

 

Oprava nezobrazování DPH v košíku a pokladně ve WooCommerce

$
0
0

Dnes jsem narazil na poměrně zvláštní problém a chci se s vámi podělit o jeho řešení. WooCommerce neustále zobrazovala v košíku a pokladně nulovou hodnotu DPH.

Přestože jsem nastavení několikrát kontroloval a hledal chybu, neustále ze zobrazovalo „cena obsahuje 0 Kč DPH“.

Vypadalo to tak, že DPH prostě není vůbec počítáno a nezapisovalo se ani do objednávek. Kde tedy hledat chybu, když nastaví bylo v pořádku, na testovacím webu vše fungovalo a DPH se nezobrazilo ani při přepnutí na defaultní šablonu a deaktivaci pluginů? Downgrade nepomohl, přeinstalání WooCommerce také ne.

Nebudu vás napínat, v databázi chyběla jedna tabulka. Nedokáži říci proč, ale prostě se nevytvořila woocommerce_tax_rate_locations.

I když se u nás lokace pro DPH nepoužívají a tabulka zůstane prázdná, tak její neexistence naruší proces výpočtu a bude se vám všude zobrazovat nulové DPH.

Pro vyřešní stačí jít do phpMyAdmin, zvolit SQL a vytvořit samotnou tabulku, přidat klíče a autoincrement. Asi by se to dalo napsat do jednoho příkazu, ale po pěti hodinách jsem byl rád, že jsem našel řešení.

Kód:

CREATE TABLE IF NOT EXISTS `wp_woocommerce_tax_rate_locations` (
`location_id` bigint(20) NOT NULL,
`location_code` varchar(255) NOT NULL,
`tax_rate_id` bigint(20) NOT NULL,
`location_type` varchar(40) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
 
ALTER TABLE `wp_woocommerce_tax_rate_locations`
ADD PRIMARY KEY (`location_id`), ADD KEY `tax_rate_id` (`tax_rate_id`), ADD KEY `location_type` (`location_type`), ADD KEY `location_type_code` (`location_type`,`location_code`);
 
 
ALTER TABLE `wp_woocommerce_tax_rate_locations`
MODIFY `location_id` bigint(20) NOT NULL AUTO_INCREMENT;

Název tabulky se může změnit podle toho, jaký máte zvolená prefix, v tom případě musíte nahradit „wp_“ na začátku jména tabluky.

Co můžeme čekat od nové WooCommerce 2.4 ?

$
0
0

V současné době je aktuální verze Woocommerce 2.3+, v přípravě je již verze 2.4, jenž je od dnešního dne k dispozici pro testování. Podíváme se, co vše se změní v nové verzi oblíbeného pluginu.

Tentokrát se vývojáři zaměřili především na backend a na práci s variantami produktů. V editorů variant je několik změn, jenž mají usnadnit jejich úpravu. Editor tak dostal stránkování, takže, pokud máte více než 10 variant produktu, můžete mezi nimi listovat. Další změnou je úprava hromadného ukládání dat, máte tak možnost nastavit jednotnou cenu pro všechny varianty a podobně. Pozor však dejte na to, uložení se týká i variant na dalších stránkách, ne jen těch, které vidíte.

woocommerce-admin-variations-interface

 

woocommerce-2.4-variations-options

 

Největší změna je zcela neviditelná. Ukládání dat  je nyní zcela v moci AJAXu a při aktualizaci produktu už tak nedochází k načítání dat variant. S touto změnou se však váže nebezpečí nekompability některých pluginů.

Pokud po aktualizaci na Woo 4.2 začnou zlobit varianty, prověřte, zda máte na eshopu nainstalovány pluginy, jenž nějakým způsobem ovlivňují jejich funkci.

Pro developery, kteří používají ve svých pluginech JS, je tu několik nových hooků:

  • woocommerce_variations_loaded
  • woocommerce_variations_saved
  • woocommerce_variations_save_variations_button
  • woocommerce_variations_save_variations_on_submit
  • woocommerce_variations_added
  • woocommerce_variations_removed
  • woocommerce_variations_input_changed
  • woocommerce_variations_defaults_changed

 

Zajímavá úprava je možnost seřadit dopravní metody, dle navolené priority.

2015-07-13-at-13.12-1024x329

 

Již několikrát jsem se s tímto požadavkem setkal a je příjemné, že byla úprava přidána do jádra WooCommerce.

 

Než se dostanu k poslední zajímavé úpravě, musím zmínit nově přidanou možnost vytvářet vlastní Ajax endpointy a API pro vizuální autorizační endpointy, což umožní developerům přidat autorizaci, jakou můžete znát u některých aplikací, napojených na Facebook.

Průvodce instalací WooCommerce

Toto jsem si nechal skoro na konec, protože pro uživatele to je nejviditelnější změna.

Při instalaci WooCommerce jste přesměrováni na uvítací stránku, kde zjistíte všechny potřebné informace. Nově je do WooCommerce přidán průvodce, který vám v několika krocích pomůže nainstalovat potřebné stránky, nastavit základní údaje, jako je měna, váha a další položky. Nemusíte je tak již hledat na jednotlivých záložkách.

No a závěrem seznam všech souborů šablon, které budou aktualizací ovlivněny:

  • templates/emails/admin-cancelled-order.php
  • templates/emails/admin-new-order.php
  • templates/emails/customer-completed-order.php
  • templates/emails/customer-invoice.php
  • templates/emails/customer-note.php
  • templates/emails/customer-processing-order.php
  • templates/emails/customer-refunded-order.php
  • templates/emails/email-addresses.php

Navíc je tu nový soubor, pro snadnější editaci tlačítka „Pokračovat k objednávce“

  • woocommerce/templates/cart/proceed-to-checkout-button.php

 

 

Jak vytvořit cenovou tabulku ve WooCommerce

$
0
0

WooCommerce je skvělý nástroj, ale na začátku jste odkázáni na design detailu produktu, který plugin obsahuje. V dnešním článku si ukážeme, jak vytvořit pricing tables pro WooCommerce.

Řekněme, že používáte WooCommerce a potřebujete do nějakého článku na blogu vložit tabulku se srovnáním služeb a jejich cen. Viz následující obrázek:

woocommerce-pricing-tables

S podobnými prvky se můžeme setkat na různých webech a pomocí pluginu WooCommerce Quick Order, dokážete vytvořit tabulku, z produktů WooCommerce.

Možná si říkáte, proč WooCommerce?

Z pohodlnosti.

Máte k dispozici bojednávky, zasílání emailů, různé platební brány a pomocí pluginu můžete vytvářet call to action tlačítka, fotogalerie s možností rychlého nákupu a další prvky. Nebo jen zasadit tlačítko „Koupit“ do obsahu stránky.

Vrátíme se ale k cenové tabulce.

Plugin obsahuje sadu shortcodů, pomocí kterých prvek připravíte. Shortcode pro jeden sloupec tabulky vypadá takto:

[wqo-price-table id=“102″ class=““ afterprice=“/ month“ submit=“Buy now“ redirect=“no“]
[wqo-price-table-item]Lorem ipsum[/wqo-price-table-item]
[wqo-price-table-item]Lorem ipsum[/wqo-price-table-item]
[wqo-price-table-item]Lorem ipsum[/wqo-price-table-item]
[/wqo-price-table]

Základem je shortcode wqo-price-table, který obaluje celý sloupec a v něm jsou jednotlivé řádky – wqo-price-table-item.

Attribut id v hlavním shortcodu označuje id produktu.

Class pak umožňuje přidat sloupci vlastní css třídu a ovlivnit tak zobrazování tabulky.

Afterprice nastavuje text za cenou, aby bylo možné definovat i třeba předplatné.

Submit označuje text tlačítka a redirect umožní nastavit přesměrování buď do košíku, nebo přímo na pokladnu.

Plugin je placený, stojí 16$ a najdete ho na CodeCanyon – WooCommerce Quick Order.

WooCommerce 2.4+ má řadu chyb a problémů

$
0
0

Před dvěma dny spatřila světlo světa nová verze WooCommerce, s pořadovým číslem 2.4.0. Aktualizace to byla velmi obsáhlá a slibovala vylepšení práce s variantami.

Bohužel nic není tak růžové, jak se to maluje Mike Jolley, vývojář WooCommerce zažívá šílené dva dny. Svědčí o tom neutuchající proud hlášení chyb a problémů, na stránce pluginu na WordPress.org.

Většina problémů se točí kolem nových úprav správy variant produktů, například se zobrazovala cena „Zdarma“, pokud nebyla varianta skladem. Některým uživatelům přestaly pracovat varianty úplně, kombinace byly „nedostupné“.

Během dvou dní byly vydány dvě aktualizace, poslední verze má číslo 2.4.2.

Doporučuji počkat s aktualizací několik dní, než si vše sedne, řada chyb je na straně vývojářů pluginů a šablon. Ti ostatně také potřebuji nějaký čas na reakci, nemá tedy smysl s aktualizací spěchat.

P.S.: Pokud používáte některé z mých pluginů, raději také počkejte s aktualizací, na úpravách pracuji.

SyntaxError: Unexpected token < ve WooCommerce 2.4.6

$
0
0

Možná jste se s tím již setkali po aktualizaci WooCommerce na verzi 2.4. a vyšší. V pokladně se objednávka nepřesměruje na děkovnou stránku a místo toho se zobrazí chybové hlášení – SyntaxError: Unexpected token <.

A nic víc. Nikde žádná informace o souboru, v které se chyba nachází.

Díky tomu, že checkout ve WooCommerce je kontrolován pomocí AJAXu, může jít o jakoukoliv chybu, která se na stránce pokladny.

Mike Jolley uveřejnil na wordpress.org „řešení“, které je podle mne dost zvláštní https://wordpress.org/support/topic/24-common-issue-syntaxerror-unexpected-token?replies=1.

Vypnete zobrazování chyb a tváříte se, jako že se nic nestalo.

S tím jsem se ale nemohl smířit.

Ponořil jsem se do zdrojového kódu a našel jsem způsob, jak detekovat chybu, která hlášení způsobuje.

Ve složce woocommerce/assets/frontend najdete dva soubory, checkout.js a checkout.min.js.

Ty si nejprve zálohujte a otevřete soubor checkout.js.

Na řádku 359 najdete tento kód:

error:	function( jqXHR, textStatus, errorThrown ) {
  wc_checkout_form.submit_error( '
' + errorThrown + '
' ); }

Ten upravte na:

error:	function( jqXHR, textStatus, errorThrown ) {
  wc_checkout_form.submit_error( '
' + errorThrown + '
' ); console.log(jqXHR); }

V Chrome otevřete váš eshop, developerskou konzoli a záložku Console.
Pak vložte zboží do košíku a na stránce pokladny vytvořte objednávku.

Zápis v konzoli by měl zobrazit text, začínající – „object { readyState: 4, responseText:“.
V textu již najdete chybu, kterou je potřeba vyřešit.

Až chybu odstraníte, nezapomeňte znovu obnovit oba js soubory, protože jádro pluginu zásadně neupravujeme.


Bude WooCommerce bez českého překladu?

$
0
0

Již před měsícem a půl, informoval vývojářský tým, stojící za WooCommerce, o změnách v distribuci jazykových balíčků pro tento plugin. Reálně tak hrozí, že součástí WooCommerce nebudete mít český překlad.

Proč se tak stalo?

WooCommerce přešla pod křídla tvůrců WordPressu a místo vlastního systému, pro aktualizaci jazykových souborů (jazyk jste mohli aktualizovat přímo z administrace), začala používat jejich systém.

Což je dobře, protože se bude jednat o stejný postup, jako u WordPressu samotného. Problémem však je, že pokud nebude přeloženo 100% řetězců, nebude jazykový balíček s češtinou k dispozici.

WooCommerce tak bude bez Češtiny a bude opět nutné hledat a doinstalovávat různé pluginy.

Nic proti tomu, ale různé překlady, mají různou úroveň. Typický příklad je například BB Press. Sehnat na něj ucelený a kvalitní překlad je složité.

Protože ve WordPressu je vše o komunitě, je samozřejmě možné pomoci s překladem v rámci dobrovolnictví.

Stačí si udělat účet na WordPress.org a na stránce pluginu Woocommerce, kliknout na odkaz:

 

preklad 1

 

Dostanete se tabulky, kde jsou všechny jazyky i s procenty překladu. Najdete češtinu a klinete na ni:

preklad 2

 

V poslední tabulce uvidíte, kolik je nepřeložených frází a můžete začít překládat:

preklad 3

 

Je jich tam 450!

Jenom 450. Kolik lidí používá WooCommerce? Když se sejde 10 lidí a každý přeloží 45 vět, máme hotovo.

Já jsem na Facebooku ve skupině psal, že nejsem tak zdatný angličtinář, abych si troufl na vše, ale od té doby se skoro nic nepřeložilo. Téměř nikdo se nezapojil a ti kteří se zapojili, brzy přestali.

Takže jsem se do toho pustil i za cenu, že některé překlady nebudou zcela přesné a budu je muset opravovat.

Pro zajímavost se podívejte na slovenštinu. Mají 100%. Peter Němčok se již několikrát ptal, proč se do toho u nás nikdo nechce pustit.

Nerozumím tomu. Kolik lidí používá WooCommerce, má na tom založený obchod? To jsme na tom na rozdíl od Slovenska tak špatně, že se nenajde několik dobrovolníků?

Kolik najdete na webu zmínek, že někdo přeložil šablonu. To je daleko více vět, než 450.

Doufám, že se nakonec najde někdo, kdo mi s překladem pomůže a WooCommerce bude mít k dispozici překlad pro všechny uživatele.

Pokud si netroufáte na překlad, tak alespoň sdílejte článek, aby se někdo připojil.

Jak upravit počet souvisejících produktů ve WooCommerce

$
0
0

Související produkty nabízí zákazníkovi produkty, které souvisí s právě zobrazeným produktem.

V základním nastavení se zobrazují 4 a často jsou zarovnané na dva řádky.

Pokud vám tento způsob nevyhovuje, pomocí dnešního snippetu to můžete lehce změnit.

Následující kód vložíte do functions.php, nebo do vašeho pluginu.

 
add_filter( 'woocommerce_output_related_products_args', 'custom_related_products' );
 
function custom_related_products( $args ) {
	$args['posts_per_page'] = 3; 
	$args['columns'] = 3; 
	return $args;
}

Post per page je počet zobrazených produktů. My jsme si zobrazili tři produkty. A protože nechceme mít jeden produkt na dalším řádku, použijeme columns a změníme počet produktů na řádek, také na 3.

Jak změnit pozici měny ve WooCommerce

$
0
0

Změna pozice měny ve WooCommerce je jednoduchá, stačí využít nastavení měny. Kromě pozice, si můžete změnit počet desetinných míst, oddělovat tisíců a desetinných míst a měnu samotnou.

nastaveni-meny

 

Funguje to perfektně, pokud však nepoužíváte pluginy, pro zobrazování více měn.

V tuto chvíli mám konkrétní zkušenost s WPML, kdy dle nastavení, můžete pro každou měnu, vybrat pozici symbolu měny.

nastaveni-meny-wpml

 

A co myslíte? Nastavení nefunguje.

Můžete sice překliknout mezi měnami, ale roletka s nastavením se nedá rozbalit, ani změnit.

Naštěstí se to dá poměrně jednoduše vyřešit, použitím filtru woocommerce_price_format. Vzhledem k tomu že se jedná o WPML, máme k dispozici konstantu ICL_LANGUAGE_CODE, která vrací aktuálně vybraný jazyk.

Do functions.php, nebo do vašeho pluginu, přidáme následující kód:

 
add_filter('woocommerce_price_format', 'musilda_currency_position' );
function musilda_currency_position() {
 
  if(!empty(ICL_LANGUAGE_CODE)){
    if(ICL_LANGUAGE_CODE == 'cs'){
      $currency_pos = 'right_space';
    }
    elseif(ICL_LANGUAGE_CODE == 'en'){
      $currency_pos = 'left';
    }
    else{
      $currency_pos = 'right_space';
    }
 
  }else{
    $currency_pos = 'right_space';
  }
 
 
    switch ( $currency_pos ) {
        case 'left' :
            $format = '%1$s%2$s';
        break;
        case 'right' :
            $format = '%2$s%1$s';
        break;
        case 'left_space' :
            $format = '%1$s&nbsp;%2$s';
        break;
        case 'right_space' :
            $format = '%2$s&nbsp;%1$s';
        break;
    }
 
 
    return $format;
 
}

V tuto chvíli, pokud je jazykem čeština, je symbol vpravo s mezerou, v případě angličtiny je vlevo bez mezery. U ostatních jazyků je nastavená pozice stejná, jako u češtiny.

Jak odstranit drobečkovou navigaci ve WooCommerce

$
0
0

WooCommerce v základním nastavení zobrazuje drobečkovou navigaci. Protože je občas nezbytné, navigaci odstranit, ukážeme si, jak na to.

Řešení je jednoduché, ale nejprve si musíme říci, jak je navigace v šablonách zobrazována.

Pokud si otevřete například soubor archive-product.php, který najdete v plugins/woocommerce/templates, najdete na řádku 25, tento zápis:

do_action( ‚woocommerce_before_main_content‘ );

Tento hook, obsahuje zavěšené dvě funkce, a jedna z nich je woocommerce_breadcrumb.

Jak je vidět, nenajdete nikde v šabloně konkrétní funkci, ta je umístěna jinde. Můžete sice smazat celý hook, ale tím odstraníte i div, který je umístěn, pomocí woocommerce_output_content_wrapper, ve stejném hooku.

Proto musíme drobečkovou navigaci, z hooku odstranit.

Do functions.php pak stačí zapsat:

add_action( 'init', 'musilda_remove_wc_breadcrumbs' );
function musilda_remove_wc_breadcrumbs() {
    remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );
}

Nic více nepotřebujete.

Jak zobrazit sazbu daně produktu ve WooCommerce

$
0
0

Při zobrazení produktu ve WooCommerce, je poměrně jednoduché zobrazit výši DPH z ceny produktu. Větší problém, je ale zobrazit sazbu daně, pro konkrétní produkt.

Původně tento dotaz zazněl na Facebooku, kde jsem na něj odpověděl. Autor dotazu však nijak nereagoval a protože jsem zrovna tento týden, potřeboval řešit podobný problém, v tomto článku si ukážeme jednoduchý snippet, který sazbu zobrazí.

Nebudu zde zapisovat žádnou funkci, script si vložte do vlastní funkce a využijte takový hook, jaký potřebujete.

Jediné, co budete potřebovat, je id produktu. Protože je produkt custom post type, můžete použít i „global $post;“.

$_product = new WC_Product($post->ID);
$tax_rates  = WC_Tax::get_rates( $_product->get_tax_class() );
      if(!empty($tax_rates)){
            foreach($tax_rates as $tax ){
                $dph   = $tax['rate'];
                $nazev = $tax['label'];
            }
      }

V proměnné $dph je sazba daně, v $nazev je její jméno.

Ať slouží.

Zrychlení WooCommerce – odstranění transient

$
0
0

WooCommerce má nepříjemnou vlastnost, při delším používání, bez údržby, začíná díky ní bobtnat tabulka _options v databázi. Důvodem jsou transienty, které se archivují v této tabulce.

Nejprve, co jsou to transienty. 

Transienty jsou dočasná data, která si WooCommerce ukládá do databáze. Každá uložená položka, má nastavenou dobu, po kterou platí a poté ji bude WooCommerce ignorovat.

To, že ji má ignorovat, zjistí v tu chvíli, kdy bude data v ní uložená potřebovat. Takže předchozí transient zahodí a vytvoří nový s aktuálními daty. A databáze úspěšně bobtná.

Pak to může vypadat takto:

woocommerce.transient

 

Naštěstí má WooCommerce zabudovaný nástroj, který najdete v menu WooCommerce -> Stav systému ->Nástroje

woocommerce.tools

 

Pokud kliknete na Vyčistit transienty, nebo Vyčistit vypršené transienty, bude nástroj procházet tabulku a odstraňovat transienty, náležící WooCommerce a odstraňovat je.

Díky tomu snížíte velikost tabulky a eshop bude zase o něco svižnější. Nemusíte se bát, že smažete důležitá data, systém si je v případě potřeby znovu vytvoří.

Zároveň doporučuji kliknout i na tlačítko Zrušte všechny relace, které odstraní z databáze všechny záznamy _wc_session_…, jenž obsahují data košíku zákazníka. Nestane se nic horšího, než, že se nějakému zákazníkovi vyprázdní košík.

 

 

 

WooCommerce 2.5 – zobrazení produktu s variantami

$
0
0

Nová WooCommerce ve verzi 2.5. je nyní v Beta verzi a přináší jednu drobnou, ale velmi příjemnou změnu v zobrazování produktu s variantami.

Do verze 2.4 se v detailu produktu s variantami, nezobrazovalo tlačítko „Přidat do košíku“, do té doby, než jste vybrali příslušnou variantu. Řadu uživatelů to mátlo:

woocommerce-2-4-variations

 

Od verze 2.5 bude tlačítko přidat do košíku viditelné, i když neaktivní.

Je to určitě krok správným směrem, protože bez tohoto tlačítka si zákazníci mysleli, že produkt není skladem.

woocommerce-2-5-variations

 

 


Propojení iDoklad a WooCommerce

$
0
0

iDoklad, je velmi zajímavá služba, která vám nabídne online fakturaci. Ta nejdůležitější informace ale je, že je zdarma. A nyní již můžete propojit iDoklad a WooCommerce.

Pomocí pluginu Woo iDoklad máte možnost, po instalaci pluginu, odesílat všechny objednávky do iDokladu a ze systému si můžete stahovat faktury.

Nejprve musíte mít účet u iDokladu

idoklad

 

Prostředí je příjemné, přehledné, účet je testovací… částka je ovlivněná počtem vystavených tetovacích faktur :-)

Samotný plugin najdete na webu toret.cz v eshopu, kategorie Fakturace a účetnictví, kde jsou i další pluginy.

Po stažení pluginu a licenčního klíče najdete v menu Toret plugins ->Woo iDoklad tabulku s nastavením, kteréje velmi jednoduché.

idoklad-nsataveni

První je formulář, pro licenční klíč. Po aktivaci pluginu a použití klíče máte k dispozici všechny funkce pluginu a případný servis, pokud se dostanete do problémů s nastavením.

Následně do formuláře vložíte váš přihlašovací email a heslo do idokladu. Zvolíte si, kdy chcete, aby se faktura vytvářela.

Poté musíte spárovat platební metody. iDoklad má seznam platebních metod a vy ve WooCommerce můžete mít naprosto jiné názvy. Proto musíte přiřadit platební metody, aby se systém dozvěděl, o jaký tým se jedná.

To samé musíte udělat s daňovými sazbami. Pokud nejste plátci, je to o to jednodušší.

A to je vše ve WooCommerce. Po tomto nastavení plugin sám bude odesílat data o objednávkách a do emailů se vám budou přikládat odkazy na pdf faktury.

Nesmíte ovšem zapomenout na nastavení iDokladu. Musíte mít vyplněné vaše fakturační údaje, včetně bankovního účtu a číselnou řadu. Plugin z těchto dat čerpá, při vytváření požadavku na iDoklad.

 

Plugin můžete zakoupit zde.

Příspěvek Propojení iDoklad a WooCommerce pochází z Musilda.cz

Vlastní WooCommerce šablony – jak je používat?

$
0
0

Plugin WooCommerce funguje s jakoukoliv WordPress šablonou, právě díky šablonám, které obsahuje. A my si ukážeme, jak s nimi správně pracovat.

Pokud si nainstalujete WooCommerce plugin, na vašem webu se objeví několik stránek, které defaultní WordPress neobsahuje.

Jsou to:

  • Obchod
  • Košík
  • Pokladna
  • Můj účet
  • Kategorie produktu
  • Detail produktu

Obchod

Obchod je výpis produktů, které jsou v eshopu. Přestože se jedná o výpis, nejedná se o archív (výpis příspěvků), ale statickou stránku, kam WooCommerce vypisuje produkty. Díky tomu, že Obchod je stránka, používá se často, jako hlavní strana eshopu.

Košík

Košík je statická stránka, jenž obsahuje shortcode, starající se o funkce košíku.

Pokladna

Pokladna je technicky stejná, jako košík, liší se pouze použitým shortcodem a funkcemi. Součástí pokladny je i děkovná stránka, což občas řadu uživatelů mate.

Můj účet

Stejně, jako u Košíku a Pokladny, jde o statickou stránku, s výpisem osobních údajů zákazníka a jeho objednávek.

Kategorie produktu a štítky produktu

Zde je potřeba říci, že produkty ve WooCommerce jsou custom post type a jako takové mají i vlastní výpis archívu. Stejně, jako například kategorie článků, lze vypsat i kategorie produktů.

Detail produktu

Podobně, jako u detailu článku, má produkt svůj vlastní detail. Liší se jen v zobrazení a funkcích, technicky se jedná o detail custom post type.

Proč ale vypadají stránky eshopu jinak, než zbytek webu? Odpovědí jsou právě custom templates, které plugin WooCommerce obsahuje.

Každá stránka je totiž složená ze samostatných šablon (souborů) a vypadat to může i takto:

obchod

Každý obdélník na obrázku, prezentuje jeden soubor šablony, nebo přinejmenším funkci zavěšenou do hooku v příslušném souboru šablony. Například cenu v tomto výpisu, zobrazuje kód, umístěný v souboru price.php, ve složce loop.

<?php if ( $price_html = $product->get_price_html() ) : ?>
 <span class="price"><?php echo $price_html; ?></span>
<?php endif; ?>

Kde jsou soubory šablon umístěny?

Jako každý jiný plugin, se WooCommerce nainstaluje do složky plugins a tam je lze najít:

/wp-content
  /plugins
    /woocommerce
      /templates

Pro pochopení způsobu načítání souborů šablon si ukážeme část kódu z template loader třídy:

if ( is_single() && get_post_type() == 'product' ) {
  $file = 'single-product.php';
  $find[] = $file;
  $find[] = WC()->template_path() . $file;
}

Tato podmínka zjišťuje, zda se aktuálně nacházíme na detailu produktu a pokud ano, tak do pole definuje jméno souboru a poté cestu ke kopii souboru v šabloně webu. Následující kód se postará o zjištění, zda v šabloně webu, existuje kopie souboru z pluginu:

if ( $file ) {
  $template = locate_template( array_unique( $find ) );
    if ( ! $template || WC_TEMPLATE_DEBUG_MODE ) {
      $template = WC()->plugin_path() . '/templates/' . $file;
    }
 }

Funkce locate_template nejprve zjišťuje, zda existuje kopie souboru a pokud ne, tak načte originální soubor z pluginu.

Celé toto vysvětlování má jediný důvod. Ukázat, proč, pro úpravu custom souborů pluginu v šabloně, je nutné, uložit je do složky:

/wp-content
  /themes
    /theme-name
      /woocommerce

Díky tomu, můžete vzít, výše zmíněný soubor price.php, původně umístěný v

wp-content/plugins/woocommerce/templates/loop/price.php

a přesunout jej do

wp-content/themes/theme-name/woocommerce/loop/price.php

Důvod je jednoduchý. Vy můžete soubor upravovat, dle libosti a aktualizace pluginu samotného se vašich úprav nedotknou.

<?php if ( $price_html = $product->get_price_html() ) : ?>
 <div class="my-custom-class"><span class="price"><?php echo $price_html; ?></span></div>
 <?php endif; ?>

Zde jsem přidal div kolem tlačítka, pokud jej budete chtít upravit. Můžete nahradit v podstatě všechny soubory z pluginu a upravit je, ale doporučuji, u souborů checkoutu (pokladny), postupovat opatrně, protože na html kód je navázána řada jQuery funkcí.

Přesunujte pouze ty soubory, které upravujete!

Protože jsme bytosti pohodlné, bývá jednoduché, vzít složku templates, přesunout ji do šablony a přejmenovat na woocommerce. Práce kvapná, málo platná. Každý soubor šablony má v hlavičce číslo verze:

* @see http://docs.woothemes.com/document/template-structure/
* @author WooThemes
* @package WooCommerce/Templates
* @version 1.6.4

Pokud dojde k aktualizaci a vy máte v šabloně starší soubory, i když jste je neupravovali, aktualizace se jich nebude týkat, protože aktualizované soubory pluginu, budou přepisovány těmi zastaralými ze šablony.

Navíc se ve stavu systému, budou zobrazovat podobná hlášení:

older-files

Takže si vytvořte strukturu složky a přesuňte pouze ty souboru, se kterými pracujete.

A nakonec upozornění:

Nikdy neupravujte soubory v pluginu!

 

Příspěvek Vlastní WooCommerce šablony – jak je používat? pochází z Musilda.cz

Průvodce instalací WooCommerce

$
0
0

Instalace WooCommerce, nespočívá jen v aktivaci pluginu, ale v jeho základním nastavení, pro správné fungování eshopu. Naštěstí od verze 2.4, obsahuje plugin průvodce instalací, který vás provede jednotlivými kroky nastavení.

Na začátku si musíme říct, že se jedná o základní nastavení, takže, i po dokončení průvodce, jsou některé prvky, jenž je potřeba nastavit. Ale pro začátek to je dostačující.

Jazyk průvodce se řídí jazykem webu a pokud chcete mít průvodce v češtině, musí i váš web byt takto nastaven.

pruvodce

 

Následuje aktivace pluginu.

pruvodce-aktivace-woocommerce

 

Průvodce instalací WooCommerce

Ihned po aktivaci se spustí průvodce. Na stránce uvidíte přivítání a možnost, průvodce nepoužít, nebo projít celým procesem instalace.

pruvodce-woocommerce-uvitaci-obrazovka

 

My samozřejmě klikneme na „Pojďme na to!“.

Vytvoření stránek pro WooCommerce

Následující dialog se týká instalace stránek. WooCommerce pro své fungování, potřebuje čtyři statické stránky.

Jsou to:

  • Obchod
  • Pokladna
  • Košík
  • Můj účet

Tento krok jednoznačně nepřeskakujte, protože stránky jsou nezbytné a stejně by jste je museli následně vytvořit.

pruvodce-woocommerce-stranky

 

Lokalizace eshopu

Následuje lokalizace obchodu, kde si určíte, v jaké zemi se bude váš eshop nacházet, jeho měnu a další prvky.

Umístění měny – Vpravo s mezerou pro koruny

Oddělovač tisíců a desetinných míst – čárka a tečka, to můžeme ponechat

Počet desetinných míst – 0

Jednotky hmotnost a rozměrů – záleží na tom, jaké chcete používat, nejčastější jsou kg a gramy

pruvodce-woocommerce-lokalizace

 

Nastavení dopravy a daňových sazeb

Tuto část většinou přeskakuji, protože dopravu a daň nastavuji stejně pro každý eshop jinak, proto se tímto krokem nezdržuji.

pruvodce-woocommerce-doprava-dan

Nastavení platebních metod

Podobný případ, jako předchozí dialog, platby se pohodlněji nastavují, přímo v nastavení WooCommerce, navíc se v ČR PayPal moc nepoužívá. Krok tedy také přeskakuji.

pruvodce-woocommerce-platby

Závěr průvodce instalací WooCommerce

Na posledním dialogu se již nic nenastavuje, pouze máte možnost, povolit sledování ze strany WooCommerce. V pravém dolním rohu jsou odkazy na zajímavé informace a dominantním prvkem, je tlačítko „Vytvořte svůj první produkt“.

Tím je průvodce ukončen, základní nastavení připraveno a my můžeme jít nastavit dopravu, platby a daně, více podrobněji.

Pokud nechcete rovnou přidávat nový produkt, všimněte si pod boxem průvodce, nenápadného odkazu, který vede na nástěnku vašeho eshopu.

pruvodce-woocommerce-zaver

 

Pokud jste zkušený uživatel, můžete instalátor vynechat, ale já ho používám, protože nemusím ručně instalovat stránky a při jednom procesu, nastavím i stát, měnu a další prvky.

 

 

 

 

Příspěvek Průvodce instalací WooCommerce pochází z Musilda.cz

Co nás čeká ve WooCommerce 2.6

$
0
0

V roce 2016 nás čeká již druhý „major release“ WooCommerce a to verze 2.6. Protože i v nové aktualizaci bude mnoho zajímavých novinek, tak se na ně podíváme.

Vydání WooCommerce 2.6 je naplánováno na druhů čtvrtletí 2016 a již je k dispozici Beta 1 k testování.

Co nás tedy čeká za změny?

Dopravní zóny

WooCommerce obsahuje několik dopravních metod a ty lze nastavovat jednu po druhé, tedy samostatně. Nově bude v nastavení dopravy položka Dopravní zóny, kde si nastavíte geografické umístění, například Evropa a do ní přiřadíte dopravní metody, které chcete používat v Evropě. Těm nastavíte příslušnou cenu za dopravu pro příslušnou zónu. Dopravní metoda musí podporovat Shipping zone, neupravené dopravní metody budou fungovat jako dříve.

Úprava stránky účtu zákazníka

Tato změna, přidává více flexibility do stránky my-account, jenž je v tuto chvíli zastoupena příslušným shortcodem. Stránka bude mít nově v levé části sloupec s „menu“, nebo to můžete nazývat „taby“. Mimo to, že stránka bude přehlednější, umožní změna, přidávat nové položky do tabů a vývojáři budou moci lépe rozšiřovat sekci účtu zákazníka.

storefront-2-my-account1

Ajax na stránce košíku

Pokud upravujete obsah košíku, například odebíráte produkty, tak od nové verze, nebude docházet k obnovování stránky, ale celý proces bude obstarávat javascript na pozadí. U tohoto vylepšení byl brán zřetel na zpětnou kompatibilitu a starší šablony by měly fungovat bez problémů.

Filtrování dle hodnocení v recenzích

Aktuálně se do možnosti filtrování produktů, dostala možnost, filtrovat produkty, dle hodnocení.

Payment Token API

Nové API, které se objeví ve WooCommerce, umožňuje, jednoduše řečeno, ukládat a pracovat s platebními údaji uživatele. V podstatě, uložíte data o kreditní kartě a můžete s nimi tak v budoucnu pracovat. Podobně, jako v administraci jiných systémů, kde si můžete přidat platební kartu, kterou budete používat pro pravidelné nákupy.

Nové Rest API založené na WP Rest API

WooCommerce obsahuje vlastní Rest API. Proto také existují aplikace pro tyto eshopy. Tak jak se postupně vyvíjí WP Rest API a bylo oznámeno jeho zařazení do WordPress 4.4 (což se nestalo), pracovali vývojáři WooCommerce, na úpravě WC Rest API, tak aby fungovalo stejně, jako WP Rest API. Nyní bude tedy dostupné Rest API ve formátu

wp-json/wc/v1/orders

Starší verze

wc-api/v3/orders

bude i nadále podporována a to minimálně do verze 3.0.

Bitcoin mezi podporovanými měnami

Byly také přidány nové měny, mezi nimi i Bitcoin, což přináší spoustu dalších možností.

Nové soubory šablon

Ve verzi 2.6 jsou přidány i nové soubory šablon, vyplývající z výše uvedených změn. Jsou to:

  • single-product/review-rating.php
  • single-product/review-meta.php
  • myaccount/downloads.php
  • myaccount/view-order.php
  • myaccount/payment-methods.php
  • myaccount/orders.php
  • myaccount/navigation.php

 

Aktualizace samozřejmě obsahuje změn daleko více, ale to jsou úpravy kódu, které se vás přímo nedotknou. Všechny změny si v jednotlivých článcích popíšeme podrobněji.

Již brzy:

Dopravní zóny ve WooCommerce 2.6

 

 

Příspěvek Co nás čeká ve WooCommerce 2.6 pochází z Musilda.cz

Jak odstranit pole z fakturačních údajů na pokladně WooCommerce

$
0
0

Jednoduchý snippet, který vám umožní odstranit vybraná pole z formuláře na pokladně Woocommerce. Pro přehlednost uvádím všechny defaultní pole. Odstranění všech polí by byl zvláštní případ, ale na takovou potřebu můžete narazit.

add_filter( 'woocommerce_checkout_fields' , 'override_checkout_fields' );
 
function override_checkout_fields( $fields ) {
 
 unset($fields['billing']['billing_first_name']);
 unset($fields['billing']['billing_last_name']);
 unset($fields['billing']['billing_company']);
 unset($fields['billing']['billing_address_1']);
 unset($fields['billing']['billing_address_2']);
 unset($fields['billing']['billing_city']);
 unset($fields['billing']['billing_postcode']);
 unset($fields['billing']['billing_country']);
 unset($fields['billing']['billing_state']);
 unset($fields['billing']['billing_phone']);
 unset($fields['order']['order_comments']);
 
 return $fields;

}

Příspěvek Jak odstranit pole z fakturačních údajů na pokladně WooCommerce pochází z Musilda.cz

Viewing all 189 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>