Dos precios en un articulo

Buenos Tardes gente!!! consulta hay algun plugins o de la parte de codigo que pueda
visualizar dos precios.
Precio Alquiler: $ 6.900
Precio Venta: $ 107.100

Es para una web de alquiler / venta de vestidos para fiestas.
Saludos

Hola Marcelo!

Sin interiorizarme mucho en el proyecto te diría que vayas con la creación de productos con variables. A esas variables les asignas el precio que querés que corresponda y creo que ya estarías para comenzar… La gente podría ver el precio en alquiler y el precio en venta.

Espero que sea de utilidad mi comentario! Sino podes sumar un poco más de detalle sobre el proyecto que estás liderando.

Abrazo

ayer estuve pensando en alternativas y lo deje ahi porque no estaba en tema inmobiliario. Hoy pensando se me ocurrio la misma alternativa, armar variaciones de producto con diferente precio. Aca @Ojosdenebulosa me gano de mano. Excelente solución!

1 me gusta

Yo ya le estuve dando vueltas, estaría genial que se muestre el precio normal de alquiler y debajo el precio de la variación (atributo venta). Quedaría muy bueno, no me puse a tirar línea de código, pero cerradisimo!

Hay veces que la solución más simple es la mejor :smile:

PD: no hay mejor cosa que quedarse buscando soluciones, es el mejor pasatiempos jaja

Agregas un custom field a los productos y luego lo mostras en el producto es muy sencillo hacerlo

Buenas !

También se puede realizar utilizando los hooks de woocommerce y modificando los templates (en este caso para mostrar ambos precio modifique el /single-product/price.php

Se puede crear un custom field y luego hacer el update del mismo o bien se crea el post meta


Screen Shot 2022-09-10 at 22.50.41

Les comparto el código que utilicé para este ejemplo:

// Demo

add_action( 'woocommerce_product_options_pricing', 'testing_price' );
function testing_price()
{
	global $woocommerce, $post;
	echo '<div class="product_custom_field">';

	//Custom Product Number Field
	woocommerce_wp_text_input(
		array(
			'id' => '_testing_product_number_field',
			'placeholder' => '',
			'label' => __('Precio de alquiler ($)', 'woocommerce'),
			'type' => 'number',
			'custom_attributes' => array(
				'step' => 'any',
				'min' => '0'
			)
		)
	);
	echo '</div>';
}

// Save the custom field "_testing_product_number_field"
add_action( 'woocommerce_process_product_meta', 'testing_save_custom_field' );
function testing_save_custom_field( $post_id )
	{
		// Custom Product Number Field
		$woocommerce_custom_product_number_field = $_POST['_testing_product_number_field'];
		if( !empty( $woocommerce_custom_product_number_field ) )
			update_post_meta( $post_id, '_testing_product_number_field', esc_attr( $woocommerce_custom_product_number_field ) );
	}

// Changue text of "Regular price" to "Precio de venta"
add_filter('gettext', 'change_backend_product_regular_price', 100, 3 );
function change_backend_product_regular_price( $translated_text, $text, $domain ) {
	global $pagenow, $post_type;

	if ( is_admin() && in_array( $pagenow, ['post.php', 'post-new.php'] )
	&& 'product' === $post_type && 'Regular price' === $text  && 'woocommerce' === $domain )
	{
		$translated_text =  __( 'Precio de venta', $domain );
	}
	return $translated_text;
}

Y la edición en el template del price:

// Get _custom_product_number_field value
$custom_product_number_field = get_post_meta( $product->get_id(), '_testing_product_number_field', true );
?>
<p class="<?php echo esc_attr( apply_filters( 'woocommerce_product_price_class', 'price' ) ); ?>">Precio de venta: <?php echo '$' .$product->price; ?></p>
<p class="<?php echo esc_attr( apply_filters( 'woocommerce_product_price_class', 'price' ) ); ?>">Precio de alquiler: <?php echo '$'. $custom_product_number_field; ?></p>

En este caso, en el front muestro ambos precios, pero podría armarse algo para que seleccione alguna opción antes de añadir al carrito.