Temas

⌘K
  1. Temas
  2. Fragmentos de código

Fragmentos de código

Se trata de un A nivel de desarrollador documento. Si no está familiarizado con el código/plantillas y la resolución de posibles conflictos, póngase en contacto con un desarrollador que esté familiarizado con FooEvents y/o WooCommerce.

Importante, leer primero #

Estos fragmentos se proporcionan como cortesía y no forman parte de la oferta de productos de FooEvents. Se consideran personalizaciones y no cuentan con el soporte oficial de FooEvents. Por lo tanto, no proporcionamos soporte para fragmentos y personalizaciones de acuerdo con nuestra política de personalización. Condiciones de uso. Utilícelo bajo su propia responsabilidad.

Completar pedidos automáticamente #

Esto permite que las entradas se envíen automáticamente una vez recibido el pago, en lugar de tener que completar el pedido manualmente. Asegúrese de que los productos de su evento están configurados como "Virtual" y "Descargable"como se explica en nuestro documentación de ayudaen caso contrario, la orden no completarse automáticamente aunque se haya efectuado el pago.

Añada el siguiente código en el tema hijo funciones.php o a través de un plugin que permita añadir funciones personalizadas, como la función Fragmentos de código plugin. Evite añadir código personalizado directamente al tema principal funciones.php ya que se sobrescribirá cuando actualice el tema.

También puede cambiar el estado "Completado" por otro estado de la orden, como "Procesando".

/**
 * @snippet       Programmatically Complete Paid WooCommerce Orders
 * @how-to        businessbloomer.com/woocommerce-customization
 * @author        Rodolfo Melogli, Business Bloomer
 * @testedwith    WooCommerce 9
 * @community     https://businessbloomer.com/club/
 */
 
add_filter( 'woocommerce_payment_complete_order_status', 'bbloomer_autocomplete_processing_orders', 9999 );
 
function bbloomer_autocomplete_processing_orders() {
	return 'completed';
}

Tenga en cuenta que el fragmento de código anterior no funcionará con pedidos contra reembolso / BACS / Cheque cuando el total del pedido sea > 0. Compruebe el plugin gratuito en esta página para solucionarlo.

Mostrar el nombre y el correo electrónico del asistente en el correo electrónico de administración de la nueva orden #

Añada el siguiente fragmento de código al tema funciones.php archivo. Puede cambiar el correo electrónico que se muestra en el uso de una diferente gancho.

add_action( 'woocommerce_email_customer_details', 'fooevents_display_attendee_details_in_new_order_email', 10 , 4);
function fooevents_display_attendee_details_in_new_order_email($order, $sent_to_admin, $plain_text, $email){
	echo "<h3>Datos de los asistentes</h3>";
	$WooCommerceEventsOrderTickets = get_post_meta($order-&gt;get_id(), 'WooCommerceEventsOrderTickets', true);
	foreach($WooCommerceEventsOrderTickets as $event) {
		foreach($event como $ticket) {
			echo "<p>";
			echo '<strong>Nombre</strong>: '.$ticket['WooCommerceEventsAttendeeName'].'<br />';
			echo '<strong>Apellido</strong>: '.$ticket['WooCommerceEventsAttendeeLastName'].'<br />';
			echo '<strong>Dirección de correo electrónico</strong>: '.$ticket['WooCommerceEventsAttendeeEmail'].'<br />';
			echo "</p>";
		}
	}
}

Mostrar todos los campos personalizados de los asistentes sin etiquetas en el correo electrónico de administración de nuevos pedidos #

Añada el siguiente fragmento de código al tema funciones.php archivo. Puede cambiar el correo electrónico que se muestra en el uso de una diferente gancho.

add_action( 'woocommerce_email_customer_details', 'fooevents_display_attendee_details_in_new_order_email', 10 , 4);
function fooevents_display_attendee_details_in_new_order_email($order, $sent_to_admin, $plain_text, $email){
	echo "<h3>Datos de los asistentes</h3>";
	$WooCommerceEventsOrderTickets = get_post_meta($order-&gt;get_id(), 'WooCommerceEventsOrderTickets', true);
	foreach($WooCommerceEventsOrderTickets as $event) {
		foreach($event como $ticket) {
			echo "<p>";
			echo '<strong>Nombre</strong>: '.$ticket['WooCommerceEventsAttendeeName'].'<br />';
			echo '<strong>Apellido</strong>: '.$ticket['WooCommerceEventsAttendeeLastName'].'<br />';
			echo '<strong>Dirección de correo electrónico</strong>: '.$ticket['WooCommerceEventsAttendeeEmail'].'<br />';
			foreach ($ticket['WooCommerceEventsCustomAttendeeFields'] as $caf) {
				echo $caf.'<br />';
			}
			echo "</p>";
		}
	}
}

Mostrar campos de asistentes personalizados con etiquetas en el correo electrónico de administración de nuevos pedidos #

Añada el siguiente fragmento de código al tema funciones.php archivo. Puede cambiar el correo electrónico que se muestra en el uso de una diferente gancho. Asegúrese de sustituir "ovsxtmynwagotamjqieq" y "ruzwhgbuhzuzzdwnnaxe" en el código de ejemplo por su código de campo de asistente personalizado específico. Puede encontrar esta información si edita un ticket y busca cada campo personalizado de asistente en la sección "Campos personalizados". Tendrá que añadir cada campo personalizado de asistente y su etiqueta individualmente.

add_action( 'woocommerce_email_customer_details', 'fooevents_display_attendee_details_in_new_order_email', 10 , 4);
function fooevents_display_attendee_details_in_new_order_email($order, $sent_to_admin, $plain_text, $email){
	echo "<h3>Datos de los asistentes</h3>";
	$WooCommerceEventsOrderTickets = get_post_meta($order-&gt;get_id(), 'WooCommerceEventsOrderTickets', true);
	foreach($WooCommerceEventsOrderTickets as $event) {
		foreach($event como $ticket) {
			echo "<p>";
			echo '<strong>Nombre</strong>: '.$ticket['WooCommerceEventsAttendeeName'].'<br />';
			echo '<strong>Apellido</strong>: '.$ticket['WooCommerceEventsAttendeeLastName'].'<br />';
			echo '<strong>Dirección de correo electrónico</strong>: '.$ticket['WooCommerceEventsAttendeeEmail'].'<br />';
			echo '<strong>Cumpleaños</strong>: '.$ticket['WooCommerceEventsCustomAttendeeFields']['fooevents_custom_ovsxtmynwagotamjqieq'].'<br />';
			echo '<strong>Canción favorita</strong>: '.$ticket['WooCommerceEventsCustomAttendeeFields']['fooevents_custom_ruzwhgbuhzuzzdwnnaxe'].'<br />';
			echo "</p>";
		}
	}
}

Mostrar la hora de inicio del evento en el listado de eventos #

Añada el siguiente fragmento de código al tema funciones.php archivo. Estiliza la visualización de la hora añadiendo CSS para la clase 'fooevents-date'.

Cambia la ubicación de la hora utilizando un gancho.

.

[php]
function fooevents_display_time_in_shop_listing() {
global $post;
if (is_front_page() || is_home() || is_shop() || is_product_category() || is_product_tag()) {
echo '<div class="fooevents-date">';
echo get_post_meta($post-&gt;ID, 'WooCommerceEventsHour', true).':';
echo get_post_meta($post-&gt;ID, 'WooCommerceEventsMinutes', true). ' ';
echo get_post_meta($post-&gt;ID, 'WooCommerceEventsPeriod', true);
echo '</div>';
}
}
add_filter( 'woocommerce_after_shop_loop_item_title', 'fooevents_display_time_in_shop_listing', 35 );[/php]

Mostrar los asistentes inscritos en forma de tabla #

Añada el siguiente fragmento de código al tema funciones.php para mostrar todos los asistentes registrados a su evento en formato de tabla. Después de añadir el fragmento de código, puede utilizar el shortcode como este:

[fooevents_attendees]

para mostrar todos los asistentes a todos los eventos, o así:

[fooevents_attendees product_id=123]

donde "123" es el ID del evento del que desea mostrar la lista de asistentes.

function fooevents_display_attendees($attributes) {
 
	$product_id='';
	if(!empty($attributes['product_id'])) {
	$product_id = $attributes['product_id'];
	}

	$output ='';
	$args = array(
	'numberposts' => -1,
	'posts_per_page' => -1,
	'post_type'   => 'event_magic_tickets',
	'meta_query'  => array(
		'relation'    => 'OR',
		array(
		'key'   => 'WooCommerceEventsProductID',
		'value'   => $product_id,
		'compare' => 'LIKE'
		)
	)
	);  

	$the_query = new WP_Query( $args );

	if( $the_query->have_posts() ):
	while ( $the_query->have_posts() ) : $the_query->the_post();
	$postid = $the_query->post->ID;
	 
		// output all findings - CUSTOMIZE TO YOUR LIKING
		$output .= "<tr>";
		1TP15Salida .= "<td>".get_the_title()."</td>";
		1TP15Salida .= "<td>".get_post_meta($postid, 'WooCommerceEventsPurchaserFirstName', true)".</td>";
		1TP15Salida .= "<td>".get_post_meta($postid, 'WooCommerceEventsPurchaserLastName', true)".</td>";
		1TP15Salida .= "</tr>";
		 
	endwhile;
	endif;
	wp_reset_query();
	1TP15Salida ="<table>".1TP12Salida".</table>";
	return $output;
   
}
add_shortcode("fooevents_attendees", "fooevents_display_attendees");

Mostrar la fecha del evento antes del título en la página del producto #

Cambie la ubicación de la fecha utilizando un gancho.

function fooevents_display_date_on_single() {
	global $post;
	$product = wc_get_product( $post->ID );
	$start_date = $product->get_meta( 'WooCommerceEventsDate' );
	$end_date = $product->get_meta( 'WooCommerceEventsEndDate' );
	if ( $end_date ) {
	printf(
		'<h3>%s</h3>',
		esc_html( 1TP15Fecha_inicio . ' - ' . 1TP15Fecha_fin )
	);
	} else if( 1TP15Fecha_inicio ) {
	printf(
		'<h3>%s</h3>',
		esc_html( $start_date )
	);
	}
}
add_action( 'woocommerce_single_product_summary', 'fooevents_display_date_on_single' );

Si desea que la fecha del evento esté disponible como shortcode, puede añadir la siguiente línea debajo de la función:

add_shortcode( 'fooevents_date_on_single', 'fooevents_display_date_on_single');

A continuación, puede utilizar el código corto [fooevents_date_on_single] para mostrar la fecha del evento en la página.

Sustituir el icono del asiento en el plano de asientos por una imagen diferente #

Modifica el siguiente fragmento de código CSS añadiendo la URL a una imagen diferente que quieras que sustituya a la imagen de asiento predeterminada para todos los asientos. Añade el fragmento de código modificado al archivo CSS personalizado de tu tema.

#fooevents_seating_dialog .fooevents_seating_chart_view_row span {
	background-image: url(../images/seat.svg);
}

Eliminar el icono del asiento en el plano de asientos para que los asientos se muestren como recuadros #

#fooevents_seating_dialog .fooevents_seating_chart_view_row span {
	background-image: none;
}

Cambiar la dirección de los números de asiento en el plano de asientos #

#fooevents_seating_dialog .fooevents_seating_chart_view_row {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
}

Mostrar los asientos impares a la derecha y los pares a la izquierda. #

#fooevents_seating_dialog .fooevents_seating_chart_view_row > span:nth-of-type(even) {
	float: left;
}

Mostrar asientos en el centro del plano de asientos #

#fooevents_seating_dialog .fooevents_seating_chart_view_row_name,
#fooevents_seating_dialog .fooevents_seating_chart_view_row {
	text-align: center;
}

Permitir que el plano de asientos se desplace horizontalmente en lugar de mostrar los asientos de la fila siguiente. #

Esto podría ser útil si tiene muchos asientos por fila y quiere que se muestren uno al lado del otro en lugar de en la fila siguiente si no caben en una línea.

#fooevents_seating_dialog .fooevents_seating_chart_view_row {
	overflow-x: scroll;
	white-space: nowrap;
}

Mostrar una cuadrícula de calendario en ordenadores de sobremesa y una lista de semanas de calendario en móviles #

Añade dos shortcodes de calendario en la página o post donde quieras mostrar tu calendario. El primer shortcode mostrará una cuadrícula de calendario y debe tener este aspecto:

[fooevents_calendar id="escritorio"]

El segundo shortcode mostrará una lista de semanas del calendario y debe tener este aspecto:

[fooevents_calendar id="mobile" defaultView="listWeek"]

Añade el siguiente fragmento de código CSS al archivo CSS personalizado de tu tema. Asegúrese de que el valor del selector CSS ID es el mismo que el valor del atributo "id" que ha especificado en el shortcode. Puede ajustar la propiedad "max-width" al tamaño de pantalla en el que desea que se muestre la lista de semanas del calendario y se oculte la cuadrícula del calendario.

#desktop_fooevents_calendar {
	display: block;
}
	
#mobile_fooevents_calendar {
	display: none;
}
	
@media screen and (max-width: 600px) {
	#desktop_fooevents_calendar {
	display: none;
	}
	
	#mobile_fooevents_calendar {
	display: block;
	}    
}

Calendario dinámico #

Añada el siguiente fragmento de código al tema funciones.php para mostrar el Calendario con sólo el producto del evento actual cuando se utiliza en Descripciones de productos/páginas.

function dynamic_fooevents_calendar_shortcode() {
	if (is_product()) {
		global $product;
		if ($product) {
			$product_id = $product->get_id();
			return do_shortcode('[fooevents_calendar post="' . $product_id . '"]');
		}
	}
	return ''; // fallback if not on product page
}

add_shortcode('dynamic_fooevents_calendar', 'dynamic_fooevents_calendar_shortcode');

Después de añadir el fragmento de código, puede utilizar el shortcode de la siguiente manera:

[dynamic_fooevents_calendar]

Cambiar la posición del icono Copiar datos del comprador #

El siguiente fragmento alineará el botón de copia a la derecha de la etiqueta del primer nombre:

.fooevents-copia-del-comprador {
	float: right;
	margin-bottom:-1.7em
}

Si no utiliza etiquetas, sino marcadores de entrada, utilice el siguiente fragmento de código:

.fooevents-copia-del-comprador {
	float: right;
	margin-top:-2em
}

Mostrar primero la pestaña "Detalles del evento" en la página del evento #

Añada el siguiente fragmento de código al tema funciones.php archivo.

add_filter( 'woocommerce_product_tabs', 'reorder_tabs', 98 );
function reorder_tabs( $tabs ) {

    $tabs['woocommerce_events']['priority'] = 1;
    return $tabs;

}

Dirigir todos los botones "Añadir a la cesta" a las páginas de productos #

Si se trata de un producto simple, por defecto, el botón "Añadir a la cesta" añadirá automáticamente un producto a la cesta del cliente. Si utiliza la extensión de reservas FooEvents, es posible que necesite que sus clientes vayan primero a la página del producto para seleccionar la fecha y la franja horaria de la reserva. El siguiente fragmento se asegurará de que cuando se haga clic en el botón "Añadir al carrito" para productos sencillos, el usuario sea dirigido a la página del producto.

add_filter( 'woocommerce_loop_add_to_cart_link', 'fooevents_modify_add_to_cart_button_url', 10, 2 );
function fooevents_modify_add_to_cart_button_url( $button, $product ) {
	if (is_product_category() || is_shop()) {
		$button_text = $product->add_to_cart_text();
		$button_link = $product->get_permalink();
		$button = '<a class="button" href="/es/' . $button_link . '/">' . $button_text . '</a>';
		return $button;
	}
}

Mostrar GRATIS si el precio del evento es cero (0) #

Añada el siguiente fragmento de código al tema funciones.php si desea cambiar los eventos y productos con un precio de "0" a "GRATIS". También puedes sustituir la palabra "GRATIS" por otra palabra o frase o dejarla en blanco si no quieres que se muestre nada.

add_filter( 'woocommerce_get_price_html', 'wp_price_free_zero_empty', 100, 2 );
function wp_price_free_zero_empty( $price, $product ) {
	if ( '' === $product->get_price() || 0 == $product->get_price() ) {
		$price = 'FREE';
	}
	return $price;
}

Mostrar productos y variaciones (tickets) en formato de tabla cuadriculada #

Añada el siguiente fragmento de código al tema funciones.php para mostrar los productos y variaciones en formato de tabla en la página del evento/producto en lugar de la lista desplegable por defecto. Cada opción de ticket aparecerá en una nueva fila y tendrá su propio selector de cantidad.

Tenga en cuenta lo siguiente: Este fragmento de código puede ser incompatible con la aplicación FooEvents Asientos y FooEvents Reservas en la página del producto. Debería funcionar con eventos de Aforo si solo muestra el Gráfico de Aforo en la página de Caja. Este fragmento de código can be used for Bookable events.

function woocommerce_variable_add_to_cart(){
	global $product, $post;

	$variations = find_valid_variations();

	// Check if the special 'price_grid' meta is set, if it is, load the default template:
	if ( get_post_meta($post->ID, 'price_grid', true) ) {
		// Enqueue variation scripts
		wp_enqueue_script( 'wc-add-to-cart-variation' );

		// Load the template
		wc_get_template( 'single-product/add-to-cart/variable.php', array(
				'available_variations'  => $product->get_available_variations(),
				'attributes'            => $product->get_variation_attributes(),
				'selected_attributes'   => $product->get_variation_default_attributes()
			) );
		return;
	}

	// Cool, lets do our own template!
	?>
	<table class="variations variations-grid" cellspacing="0">
		<tbody>
			<?php
			foreach ( $variations as $key => $value ) {
				if ( ! $value['variation_is_visible'] ) {
					continue;
				}
				?>
			<tr>
				<td>
					<?php
					foreach ( $value['attributes'] as $key => $val ) {
						$val = str_replace( array( '-', '_' ), ' ', $val );
						printf( '<span class="attr attr-%s">%s</span>', $key, ucwords( $val ) );
					}
					?>
				</td>
				<td>
					<?php echo $value['price_html']; ?>
				</td>
				<td>
					<?php if ( $value['is_in_stock'] ) { ?>
					<form class="cart" action="<?php echo esc_url( $product->add_to_cart_url() ); ?>" method="post" enctype='multipart/form-data'>
						<?php woocommerce_quantity_input(); ?>
						<?php
						if ( ! empty( $value['attributes'] ) ) {
							foreach ( $value['attributes'] as $attr_key => $attr_value ) {
								?>
							<input type="hidden" name="<?php echo $attr_key; ?>" value="<?php echo $attr_value; ?>">
								<?php
							}
						}
						?>
						<button type="submit" class="single_add_to_cart_button btn btn-primary"><span class="glyphicon glyphicon-tag"></span> Add to cart</button>
						<input type="hidden" name="variation_id" value="<?php echo $value['variation_id']; ?>" />
						<input type="hidden" name="product_id" value="<?php echo esc_attr( $post->ID ); ?>" />
						<input type="hidden" name="add-to-cart" value="<?php echo esc_attr( $post->ID ); ?>" />
					</form>
					<?php } else { ?>
						<p class="stock out-of-stock"><?php _e( 'This product is currently out of stock and unavailable.', 'woocommerce' ); ?></p>
					<?php } ?>
				</td>
			</tr>
			<?php } ?>
		</tbody>
	</table>
	<?php
	}

	function find_valid_variations() {
		global $product;

		$variations   = $product->get_available_variations();
		$attributes   = $product->get_attributes();
		$new_variants = array();

		// Loop through all variations
		foreach ( $variations as $variation ) {

			// Peruse the attributes.

			// 1. If both are explicitly set, this is a valid variation
			// 2. If one is not set, that means any, and we must 'create' the rest.

			$valid = true; // so far
			foreach ( $attributes as $slug => $args ) {
				if ( array_key_exists( "attribute_$slug", $variation['attributes'] ) && ! empty( $variation['attributes'][ "attribute_$slug" ] ) ) {
					// Exists

				} else {
					// Not exists, create
					$valid = false; // it contains 'anys'
					// loop through all options for the 'ANY' attribute, and add each
					foreach ( explode( '|', $attributes[ $slug ]['value'] ) as $attribute ) {
						$attribute                                      = trim( $attribute );
						$new_variant                                    = $variation;
						$new_variant['attributes'][ "attribute_$slug" ] = $attribute;
						$new_variants[]                                 = $new_variant;
					}
				}
			}

			// This contains ALL set attributes, and is itself a 'valid' variation.
			if ( $valid ) {

				$new_variants[] = $variation;
			}
		}

		return $new_variants;
	}
	array( / php )

	< h2 > Add support for daily start and end times to your ticket themes < / h2 >
	as of version < strong > 1.5.5 < / strong > of the < a href = 'https://www.fooevents.com/products/fooevents-multi-day/' > FooEvents Multi - day < / a > plugin, you can select different start and end times for each day of a < strong > multi - day event < / strong > . Support for this feature has also been added to all < a href = 'https://www.fooevents.com/products/ticket-themes/' > FooEvents Ticket Themes < / a > . Please < a href = 'https://help.fooevents.com/docs/topics/tickets/ticket-themes/#updating-ticket-themes' > follow these instructions < / a > to update an existing ticket theme . if you are using a customized ticket theme and are not able to replace the ticket theme with the updated version, please add the following code snippet to your ticket theme in order to add support for start and end times .

	array( php )
	< ! --MULTI - DAY DETAILS-- >

	< ? php if ( $ticket['WooCommerceEventsTicketDisplayMultiDay'] == 'on' ) {
		: ;
	}
	?>
	<?php $x = 1; ?>
	<?php $y = 0; ?>    
	<?php foreach ( $ticket['WooCommerceEventsSelectDate'] as $date ) : ?>
			<strong><?php printf( __( '%1$s %2$d: ', 'woocommerce-events' ), $ticket['dayTerm'], $x ); ?></strong>
			<?php echo esc_attr( $date ); ?><br /> 
			<?php if ( ! empty( $ticket['WooCommerceEventsSelectDateHour'][ $y ] ) && ! empty( $ticket['WooCommerceEventsSelectDateMinutes'][ $y ] ) ) : ?>
				<?php echo $ticket['WooCommerceEventsSelectDateHour'][ $y ] . ':' . $ticket['WooCommerceEventsSelectDateMinutes'][ $y ]; ?><?php echo( isset( $ticket['WooCommerceEventsSelectDatePeriod'][ $y ] ) ) ? ' ' . $ticket['WooCommerceEventsSelectDatePeriod'][ $y ] : ''; ?>
			<?php endif; ?>
			<?php if ( ! empty( $ticket['WooCommerceEventsSelectDateHourEnd'][ $y ] ) && ! empty( $ticket['WooCommerceEventsSelectDateMinutesEnd'][ $y ] ) ) : ?>
				<?php echo ' - ' . $ticket['WooCommerceEventsSelectDateHourEnd'][ $y ] . ':' . $ticket['WooCommerceEventsSelectDateMinutesEnd'][ $y ]; ?><?php echo( isset( $ticket['WooCommerceEventsSelectDatePeriodEnd'][ $y ] ) ) ? ' ' . $ticket['WooCommerceEventsSelectDatePeriodEnd'][ $y ] : ''; ?>
			<?php endif; ?>	
		<br />										
		<?php ++$x; ?>
		<?php ++$y; ?>
	<?php endforeach; ?>
<?php endif; ?>

Los botones WooCommerce Añadir a la cesta que aparecen por defecto en las páginas de anuncios de las tiendas añadirán automáticamente un producto a la cesta y redirigirán a la página de la cesta. Cuando se utiliza FooEvents Reservas, es posible que prefiera canalizar al usuario a través de la página del producto para que primero puedan hacer una selección de reserva de ranura y tiempo antes de proceder a la página del carrito. El siguiente fragmento sustituirá el enlace "Añadir al carrito" por un enlace a la página del producto. Esto garantizará que el usuario pueda realizar la selección de reserva adecuada en la página del producto antes de pasar a la página del carrito o de pago.

/**
* @snippet Change WooCommerce ‘Add to Cart’ button to 'View Product'
* @source https://www.wptechnic.com/?p=4615
* @author Muhammad Tamzid
* @compatible WC 4.3.1
*/
// Change WooCommerce 'Add To Cart' button to 'View Product'
add_filter( 'woocommerce_loop_add_to_cart_link', 'wpt_custom_view_product_button', 10, 2 );
function wpt_custom_view_product_button( $button, $product ) {
	// Ignore for variable products
	if ( $product->is_type( 'variable' ) ) {
		return $button;
	}
	// Button text here
	$button_text = __( 'Book Ticket', 'woocommerce' );
	return '<a class="button wpt-custom-view-product-button" href="/es/' . $product->get_permalink() . '/">' . $button_text . '</a>';
}

Mostrar la fecha del evento para eventos "únicos" en el carro y en la página de pago. #

add_filter( 'woocommerce_cart_item_name', 'add_event_date_cart_checkout', 10, 3 );
function add_event_date_cart_checkout( $product_name, $cart_item, $cart_item_key ) {
	$product = $cart_item['data'];

	if ( $value = $product->get_meta( 'WooCommerceEventsDate' ) ) {
		$product_name .= '' . $value . ';
	}
	return $nombre_producto;
}

 

 

Artículos

Etiquetas , , , , , , , , , , , , , , , , , , ,