it-swarm-id.com

Bagaimana cara menambahkan jenis produk baru pada jenis produk woocommerce?

Saya ingin menambahkan "jenis produk" khusus ke plugin woocommerce:

enter image description here

Mencoba menduplikasi salah satu file jenis produk yang ada saat ini (struktur template woocommerce) sebagai file baru (nama file dan di dalam nama komentar) tetapi tidak berfungsi!

enter image description here

7
Amino

Template tambahkan ke keranjang hanya 1 dari banyak hal yang perlu Anda lakukan. Setiap jenis produk memiliki kelasnya sendiri di folder /includes/. Masing-masing memperluas kelas WC_Product.

Untuk menambahkan item ke daftar yang telah Anda screencapped (yang ada di sisi admin dan bukan front-end, tidak seperti template add-to-cart.php, Anda perlu memfilter 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;
}

maka Anda harus mendeklarasikan kelas produk Anda. Sistem penamaan standar adalah WC_Product_Type_Class sehingga dalam contoh ini akan menjadi:

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';
    }
}

Anda mengajukan pertanyaan yang sangat rumit dan saya tidak bisa memberikan jawaban yang lebih lengkap. Semoga ini membuat Anda di jalan yang benar. Saya sangat menyarankan Anda untuk membaca kode di WooCommerce. Ini sangat baik dikomentari dan Anda dapat melihat bagaimana mereka menangani berbagai jenis produk.

Edit Menambahkan kompatibilitas WC3.0 ke kelas jenis produk.

18
helgatheviking