• Buenas:

    Necesitaría ayuda para una opción que he visto en otras páginas.

    Dado un artículo, por ejemplo revólver, que haya un producto base, y a través de un menú desplegable puedas configurarlo, y te vayan apareciendo las distintas modalidades y precios.

    Ejemplo: según el mango del revólver, color, y combinaciones entre ellos.

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Hay dos formas:

    1. La más facil es programar un menú a mano, donde mediante las funciones nativas de WordPress y WooCommerce puedas traer productos y categorías e ir armando el bucle:
    <ul class="menu-productos">
    <?php $productos = wc_get_products([
    'featured' => true,
    'limit' => -1,
    ]);

    foreach ($productos as $producto) { ?>
    <li>
    <a href="<?php echo get_permalink($producto->get_id()); ?>">
    <?php echo $producto->get_name(); ?>
    </a>
    <?php if ($producto->is_type('variable')) : ?>
    <ul class="submenu-variaciones">
    <?php $variaciones = $producto->get_children();
    foreach ($variaciones as $var_id) :
    $variacion = wc_get_product($var_id); ?>
    <li>
    <a href="<?php echo get_permalink($producto->get_id()); ?>?attribute_<?php echo key($variacion->get_attributes()); ?>=<?php echo current($variacion->get_attributes()); ?>">
    <?php echo implode(' / ', $variacion->get_attributes()); ?>
    </a>
    </li>
    <?php endforeach; ?>
    </ul>
    <?php endif; ?>
    </li>
    <?php endforeach; ?>
    </ul>

    2. La segunda opción es usando el filter llamado «wp_nav_menu_objects» que permite manipular el menú nativo de WordPress y ahí se trae los productos

    <?php add_filter('wp_nav_menu_objects', 'terraquea_menu_destacados_variaciones', 10, 2);

    function terraquea_menu_destacados_variaciones($items, $args) {
    foreach ($items as $item) {
    if ($item->title === 'Destacados') {
    $parent_id = $item->ID;
    $productos = wc_get_products([
    'featured' => true,
    'limit' => -1,
    ]);
    foreach ($productos as $producto) {
    $new_item = new stdClass();
    $new_item->ID = 100000 + $producto->get_id();
    $new_item->title = $producto->get_name();
    $new_item->url = get_permalink($producto->get_id());
    $new_item->menu_item_parent = $parent_id;
    $new_item->type = 'custom';
    $new_item->object = 'custom';
    $new_item->classes = [];
    $items[] = $new_item;
    if ($producto->is_type('variable')) {
    foreach ($producto->get_children() as $var_id) {
    $variacion = wc_get_product($var_id);
    $sub_item = new stdClass();
    $sub_item->ID = 200000 + $var_id;
    $sub_item->title = implode(' / ', $variacion->get_attributes());
    $sub_item->url = get_permalink($producto->get_id());
    $sub_item->menu_item_parent = $new_item->ID;
    $sub_item->type = 'custom';
    $sub_item->object = 'custom';
    $sub_item->classes = [];
    $items[] = $sub_item;
    }
    }
    }
    }
    }
    return $items;
    } ?>

    Hola! Para conseguir ese menú desplegable con diferentes combinaciones, características y precios, necesitas usar la función nativa de Productos Variables de WooCommerce (no te hace falta instalar ningún plugin).

    Los pasos rápidos para configurarlo y que puedes seguir para poder resiolverlos son:

    1. Crea los Atributos: Ve a Productos > Atributos y añade las opciones que se van a elegir.
    2. Cambia el tipo de producto: Entra a editar tu artículo y en la caja de Datos del producto, cambia «Producto simple» por «Producto variable».
    3. Asigna los Atributos: En la pestaña Atributos, añade el que creaste y asegúrate de marcar la casilla «Usado para variaciones».
    4. Genera los precios: En la pestaña Variaciones, selecciona «Generar variaciones». Se crearán todas las combinaciones posibles; haces clic en cada una de ellas y podrás ponerle su propio precio y su foto específica.

    Al guardar y actualizar el producto, aparecerán automáticamente los menús desplegables en tu web cambiando el precio según lo que elija el cliente. saludos y espero sea de ayuda por si aun persiste ese problema

    Hola,

    Lo que describes es precisamente el funcionamiento de un producto variable de WooCommerce.

    Para conseguirlo puedes hacer lo siguiente:

    1. Ve a Productos → Atributos y crea los atributos que necesites (por ejemplo: Color, Mango, Acabado, etc.).
    2. Añade los términos correspondientes a cada atributo (negro, madera, marfil, etc.).
    3. Edita el producto y, en Datos del producto, cambia Producto simple por Producto variable.
    4. En la pestaña Atributos, añade los atributos y marca la opción Usado para variaciones.
    5. En la pestaña Variaciones, genera las combinaciones y asigna a cada una su precio, stock, imagen, SKU, etc.

    De esta forma el cliente verá un menú desplegable para seleccionar cada opción y el precio se actualizará según la variación elegida.

    Si lo que buscas es una configuración más avanzada (por ejemplo, cambiar el precio en tiempo real, mostrar imágenes según la selección o añadir opciones que no son variaciones de WooCommerce), existen plugins específicos para ello.

    ¿Podrías indicar si estás utilizando únicamente WooCommerce o también algún tema o plugin para personalizar los productos? Eso ayudará a recomendar la mejor opción.

    Un saludo.

    Hola, la forma nativa de hacerlo en WooCommerce es cambiar el «producto» a «producto variable» y añadir los atributos (material, color, etc) marcando la opción «usado para variaciones», pero ten en cuenta que si son muchas opciones, los desplegables pueden abrumar al comprador…

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)

Debes estar registrado para responder a este debate.