Add two custom product type

Hello i’m trying to add two custom product types, if i only add one everything works fine but when i add the other custom i get a crtic error, what im doing worng, this is the code that im using

add_action( 'init', 'register_bebidas' );
 
function register_bebidas() {
    class WC_Product_Demo extends WC_Product {
        public function __construct( $product ) {
            $this->product_type = 'bebidas';
            parent::__construct( $product );
        }
    }
}
add_action( 'init', 'register_comestibles' );
 
function register_comestibles() {
    class WC_Product_Comestibles extends WC_Product_Comestibles {
        public function __construct( $product ) {
            $this->product_type = 'bebidas';
            parent::__construct( $product );
        }
    }
}
add_filter( 'product_type_selector', 'add_bebidas' );
 
function add_bebidas( $types ){
    $types[ 'bebidas' ] = __( 'Bebidas');
    return $types;  
}
add_filter( 'product_type_selector', 'add_comestibles' );
 
function add_comestibles( $types ){
    $types[ 'comestibles' ] = __( 'Comestibles');
    return $types;  
}

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Your class is extending itself

class WC_Product_Comestibles extends WC_Product_Comestibles {

You probably meant

class WC_Product_Comestibles extends WC_Product {


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x