Avisos
Vaciar todo

Entradas-Donativo  

 
María del Carmen
 María del Carmen
Estimable Member

Buenos días. He creado esta página para una gala benéfica. El caso es que quiero poner a la venta entradas, el precio de las estradas es íntegro para una asociación de niños con cancer.

Quiero que los botones de la página de inicio me lleven al carrito de compra, con una entrada ya añadida al carrito y con la opción de seleccionar el tipo de entrada que se quiere y la cantidad. Fila 0 o asistencial.

Estoy un poco bloqueada y no se muy bien como hacerlo

Contenido solo visible a usuarios registrados

Citar
Respondido : 26/09/2024 7:55 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola María del Carmen.

Para crear un botón que enlace directamente a la página de checkout de WooCommerce con un producto específico ya añadido al carrito, puedes utilizar una URL con parámetros que WooCommerce proporciona.

Primero, necesitas el ID del producto que quieres añadir automáticamente al carrito. Puedes encontrar el ID del producto en el panel de administración de WooCommerce en la sección de "Productos". Al editar un producto, el ID aparecerá en la barra de direcciones del navegador o en la lista de productos.

Captura de Pantalla 2024 09 26 a las 11.21.20

Usa la siguiente estructura de URL para redirigir al usuario directamente al checkout con un producto añadido al carrito, vamos a suponer que el ID del producto es 123:

Contenido solo visible a usuarios registrados

 

Revisa esto y luego vemos lo de las opciones del tipo de entrada

 

Un saludo

ResponderCitar
Respondido : 26/09/2024 12:40 pm

María del Carmen
 María del Carmen
Estimable Member

Genial, muchas gracias!!

Hay forma de hacer que una vez añadido al carrito se puedan seleccionar las variables del producto?

ResponderCitar
Respondido : 27/09/2024 8:32 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola María del Carmen.

En principio no hace falta que sea un producto Variable, utiliza un producto simple.

Para que el usuario pueda seleccionar las opciones puedes utilizar este código:

// Añadir un campo personalizado al checkout
add_action('woocommerce_after_order_notes', 'agregar_opciones_presencial_online');

function agregar_opciones_presencial_online($checkout) {
echo '<div id="opciones_presencial_online"><h3>' . __('Opciones de asistencia') . '</h3>';

woocommerce_form_field('opciones_asistencia', array(
'type' => 'select',
'class' => array('form-row-wide'),
'label' => __('Selecciona una opción:'),
'options' => array(
'' => __('Selecciona...'),
'fila_cero' => __('Fila Cero'),
'asistencia' => __('Asistencia'),
),
), $checkout->get_value('opciones_asistencia'));

echo '</div>';
}

// Guardar el valor seleccionado al procesar el pedido
add_action('woocommerce_checkout_update_order_meta', 'guardar_opciones_presencial_online');

function guardar_opciones_presencial_online($order_id) {
if (!empty($_POST['opciones_asistencia'])) {
update_post_meta($order_id, 'opciones_asistencia', sanitize_text_field($_POST['opciones_asistencia']));
}
}

// Mostrar el valor seleccionado en la página de administración del pedido
add_action('woocommerce_admin_order_data_after_billing_address', 'mostrar_opciones_presencial_online_en_admin', 10, 1);

function mostrar_opciones_presencial_online_en_admin($order){
$opcion = get_post_meta($order->get_id(), 'opciones_asistencia', true);
if ($opcion) {
echo '<p><strong>' . __('Opciones de asistencia') . ':</strong> ' . $opcion . '</p>';
}
}

Este código añadirá un desplegable en el checkout donde el usuario podrá seleccionar las opciones de fila cero o asistencia.

El código lo puedes añadir en el plugin code Snippets

 

Un Saludo

ResponderCitar
Respondido : 27/09/2024 12:26 pm