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.