Ako zobraziť hmotnosť produktu kdekoľvek pomocou shortcodu

Niekedy potrebujete zobraziť váhu produktu hneď vedľa ceny, v popise alebo v špeciálnom bloku, a nielen v predvolenej tabuľke parametrov. WooCommerce túto možnosť v základe nemá, ale pomocou tohto jednoduchého snippetu si vytvoríte vlastovú „skratku“ (shortcode), ktorú vložíte kamkoľvek.

Ako to funguje?

Snippet vytvorí nový shortcode [product_weight]. Keď ho vložíte do popisu produktu alebo do Elementoru (či iného buildera), kód urobí nasledovné:

  1. Identifikuje produkt: Zistí, na ktorej produktovej stránke sa práve nachádzate.
  2. Vytiahne údaje: Z databázy si vypýta číselnú hodnotu hmotnosti.
  3. Zistí jednotky: Pozrie sa do nastavení WooCommerce, či používate kg, g alebo iné jednotky.
  4. Zobrazí výsledok: Spojí číslo s jednotkou a úhľadne ich vypíše. Ak hmotnosť nie je zadaná, upozorní na to (text si môžete v kóde ľahko zmeniť).
PHP
function custom_product_weight_shortcode() {
    global $product;

    // Kontrola, či sme skutočne na stránke produktu
    if ( ! is_a( $product, 'WC_Product' ) ) {
        return '';
    }

    $weight = $product->get_weight();

    // Ak produkt nemá zadanú hmotnosť
    if ( ! $weight ) {
        return 'Hmotnosť tohto produktu nie je dostupná.';
    }

    // Vráti sformátovaný text s jednotkou z nastavení WooCommerce
    return 'Hmotnosť tohto produktu je ' . $weight . ' ' . get_option( 'woocommerce_weight_unit' );
}

// Registrácia shortcodu [product_weight]
add_shortcode( 'product_weight', 'custom_product_weight_shortcode' );

Praktické tipy

  • Kam vložiť shortcode: Stačí do textového editora v administrácii produktu napísať [product_weight].
  • Viacero produktov: Tento shortcode je navrhnutý tak, aby fungoval v rámci „Product Loop“ alebo na stránke konkrétneho produktu. Ak ho vložíte na bežnú statickú stránku (napr. „O nás“), nezobrazí nič, pretože nebude vedieť, ktorú váhu má vytiahnuť.
  • Vlastný text (riadok 17): Ak chcete zmeniť vetu „Hmotnosť tohto produktu je…“, stačí upraviť text v poslednom riadku funkcie pred premennou $weight.

Zanechať odpoveď

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *