Podmiňovací tagy ve WooCommerce - Affinite.io CZ

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.

 

Child Theme ve WordPress
Child Theme ve WordPress
14 Čvn, 2015
Lepší editor souborů šablon a pluginů ve WordPressu
Lepší editor souborů šablon a pluginů ve WordPressu
21 Čvn, 2015

Looking for something?