Come aggiungere un nuovo tipo di prodotto tra i tipi di prodotto WooCommerce?
Voglio aggiungere un nuovo "tipo di prodotto" personalizzato al plugin WooCommerce:
Ho provato a duplicare uno dei file dei tipi di prodotto esistenti (struttura dei template di WooCommerce) come nuovo file (modificando il nome del file e il nome nei commenti) ma non ha funzionato!

Il template per aggiungere al carrello è solo una delle molte cose che dovrai fare. Ogni tipo di prodotto ha la sua classe nella cartella /includes/
. Ognuna di queste estende la classe WC_Product
.
Per aggiungere elementi alla lista che hai catturato nello screenshot (che si trova nella parte amministrativa e non nel front-end, a differenza del template add-to-cart.php
), dovrai filtrare product_type_selector
.
add_filter( 'product_type_selector', 'wpa_120215_add_product_type' );
function wpa_120215_add_product_type( $types ){
$types[ 'your_type' ] = __( 'Il tuo tipo di prodotto' );
return $types;
}
Poi dovrai dichiarare la tua classe prodotto. Il sistema standard di denominazione è WC_Product_Type_Class
quindi in questo esempio sarebbe:
class WC_Product_Your_Type extends WC_Product{
/**
* __construct function.
*
* @access public
* @param mixed $product
*/
public function __construct( $product ) {
$this->product_type = 'your_type'; // Deprecato da WC3.0 vedere il metodo get_type()
parent::__construct( $product );
}
/**
* Get internal type.
* Necessario per la compatibilità con WooCommerce 3.0
* @return string
*/
public function get_type() {
return 'your_type';
}
}
Stai facendo una domanda molto complessa e non posso fornire una risposta più completa. Spero che questo ti indirizzi sulla strada giusta. Ti incoraggio vivamente a leggere il codice in WooCommerce. È molto ben commentato e puoi vedere come gestiscono i diversi tipi di prodotto.
Modifica Aggiunta compatibilità con WC3.0 alla classe del tipo di prodotto.

Per le persone del ✨ futuro ✨ che troveranno questo, ecco un post del blog che potrebbe fornire alcune informazioni aggiuntive utili: http://jeroensormani.com/adding-a-custom-woocommerce-product-type/

Fantastico! Ma per le persone del futuro, il $this->product_type
non sarà più accurato per WC2.7+.

@helgatheviking Hai qualche suggerimento su dove trovare informazioni più aggiornate in particolare sul product_type? Continuo a imbattermi in quei tutorial "vecchi" che usano solo quella sintassi.
