it-swarm-eu.dev

Jak přidat nový typ produktu na typy produktů woocommerce?

Chci přidat nový vlastní typ produktu do pluginu woocommerce:

enter image description here

Pokusil se duplikovat jeden z aktuálně existujících souborů typu produktu (struktura šablony woocommerce) jako nový soubor (název souboru a uvnitř komentovaného názvu), ale nefungoval!

enter image description here

7
Amino

Přidat do košíku šablona je pouze 1 z mnoha věcí, které budete muset udělat. Každý typ produktu má svou vlastní třídu ve složce /includes/. Každá z nich rozšiřuje třídu WC_Product.

Chcete-li přidat položky do seznamu, který jste vybrali (což je na straně administrátora a nikoli front-end, na rozdíl od šablony add-to-cart.php, budete muset filtrovat product_type_selector.

add_filter( 'product_type_selector', 'wpa_120215_add_product_type' );
function wpa_120215_add_product_type( $types ){
    $types[ 'your_type' ] = __( 'Your Product Type' );
    return $types;
}

pak budete muset deklarovat svou třídu výrobků. Standardní systém pojmenování je WC_Product_Type_Class, takže v tomto příkladu by to bylo:

class WC_Product_Your_Type extends WC_Product{
    /**
     * __construct function.
     *
     * @access public
     * @param mixed $product
     */
    public function __construct( $product ) {
        $this->product_type = 'your_type'; // Deprecated as of WC3.0 see get_type() method
        parent::__construct( $product );
    }

     /**
     * Get internal type.
     * Needed for WooCommerce 3.0 Compatibility
     * @return string
     */
    public function get_type() {
        return 'your_product';
    }
}

Ptáte se velmi složité otázky a nemohu poskytnout úplnější odpověď. Doufejme, že vás to na správné cestě. Velmi doporučuji, abyste si přečetli kód ve WooCommerce. Je to velmi dobře komentované a můžete vidět, jak jsou s různými typy výrobků.

Edit Přidána kompatibilita WC3.0 s typem produktu.

18
helgatheviking