Jak vytvořit vlastní typ produktu - Affinite.io CZ

Základní typy produktu ve WooCommerce jsou jednoduchý, variabilní, seskupený a externí. Dnes si ukážeme, jak vytvořit vlastní typ produktu.

Vlastní typy produktů nejsou nic vyjimečného, veškeré memberships a subscriptions, nebo booking plugin s nimi pracují.

Jejich výhodou je oddělení specifických funkcí do vlastních tříd, záložek a dat. Například šablona pro tlačítko přidat do košíku na detailu produktu, se automaticky škáluje podle typu produktu.

Vlastní typ produktu Event

Na vytvoření vlastního typu produktu potřebujete jen dvě věci.

  1. vlastní třídu produktu
  2. zaregistrovat typ produktu do dropdownu v administraci

Nejprve si vytvoříme třídu produktu, kterou odvodíme od jednoduchého produktu:

/**
 * Event Product Type
 */
class WC_Product_Event extends WC_Product {

    /**
     * Return the product type
     * @return string
     */
    public function get_type() {
        return 'event';
    }

}

Nyní má Event stejné vlastnosti, jako jednoduchý produkt.

Jako další krok je třeba přidat Event do výběru typu produktu v administraci

add_filter( 'product_type_selector', 'musilda_add_type' );
function musilda_add_type( $types ) {

	$types['event'] = __( 'Event', 'musilda' );

	return $types;

}

Jako poslední musíme třídu produktu zaregistrovat:

add_filter( 'woocommerce_product_class', 'musilda_woocommerce_product_class', 10, 2 );
function musilda_woocommerce_product_class( $classname, $product_type ) {

        if ( $product_type == 'event' ) {
            $classname = 'WC_Product_Event';
        }
        return $classname;

}

A to je vše, nic víc není třeba.

WordPress 5.8.2 bezpečnostní aktualizace
WordPress 5.8.2 bezpečnostní aktualizace
12 Lis, 2021
Detekce existence WooCommerce
Detekce existence WooCommerce
15 Lis, 2021

Komentáře nejsou povoleny.

Looking for something?