WooCommerce: Cómo crear un nuevo tipo de producto

¿Alguna vez se preguntó cómo podría agregar un nuevo tipo de producto al administrador de WooCommerce (además de los predeterminados Simple, Variable, Agrupado y Externo)?

Bueno, mientras codificaba esto para un cliente, encontré mucha literatura en línea, pero nada funcionó realmente para la última versión de WooCommerce.

Entonces, ¡aquí está la solución de trabajo!

Agregue un tipo de producto personalizado a WooCommerce

Fragmento de PHP: Crear un nuevo tipo de producto @ Administrador de WooCommerce

/**
 * @snippet       Create a New Product Type @ WooCommerce Admin
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    Woo 4.3
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
// --------------------------
// #1 Add New Product Type to Select Dropdown
 
add_filter( 'product_type_selector', 'bbloomer_add_custom_product_type' );
 
function bbloomer_add_custom_product_type( $types ){
    $types[ 'custom' ] = 'Custom product';
    return $types;
}
 
// --------------------------
// #2 Add New Product Type Class
 
add_action( 'init', 'bbloomer_create_custom_product_type' );
 
function bbloomer_create_custom_product_type(){
    class WC_Product_Custom extends WC_Product {
      public function get_type() {
         return 'custom';
      }
    }
}
 
// --------------------------
// #3 Load New Product Type Class
 
add_filter( 'woocommerce_product_class', 'bbloomer_woocommerce_product_class', 10, 2 );
 
function bbloomer_woocommerce_product_class( $classname, $product_type ) {
    if ( $product_type == 'custom' ) {
        $classname = 'WC_Product_Custom';
    }
    return $classname;
}

¿Cuándo debería usar un tipo de producto personalizado?

Un fan preguntó esto en los comentarios, así que pensé en agregar esta sección adicional. La pregunta es: ¿por qué y cuándo debería usar un tipo de producto WooCommerce personalizado?

Bueno, antes que nada, la respuesta ya está ahí. Estoy seguro de que ha usado los complementos "Suscripciones de WooCommerce" o "Paquetes de productos de WooCommerce" antes, y probablemente notó que, además del tipo de producto predeterminado Simple, Variable, Agrupado y Externo, agregan el suyo propio.

De hecho, la necesidad de usar un tipo de producto personalizado surge cuando requiere tanta personalización que no tiene sentido personalizar un tipo de producto "Simple", por ejemplo. En este caso, será mejor que cree su propio tipo personalizado (principalmente si planea usarlo para muchos productos y no solo para uno y deja que el usuario juegue con la configuración del producto).

Finalmente, tener un tipo de producto personalizado le permite al usuario controlar su configuración . Por ejemplo, podría crear un tipo de producto personalizado que tenga una casilla de verificación para ocultar los precios y mostrar un formulario de contacto en su lugar. O un tipo de producto personalizado llamado “alquiler”, donde cobra un depósito en lugar de su precio total.

Básicamente, puede hacer casi cualquier cosa y crear un tipo de publicación personalizada le permite agregar opciones, menús desplegables, casillas de verificación en la página Editar producto para que el usuario pueda acceder a ellos allí.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir