Jak vytvořit vlastní typ produktu

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.

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

1 Comments

  1. Pingback: Detekce existence WooCommerce - Musilda.cz

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *