Buenas noches,
Necesito añadir un botón a los eventos que muestra el plugin The Event Calendar tanto en el listado como en el evento en sí. El botón enlazará con la ticketera, será una web de venta externa que se abre en una nueva ventana. Adjunto imágenes de cómo está y cómo quiero que aparezca.
LO QUE APARECE: https://ibb.co/27jntJr
LO QUE QUIERO: https://ibb.co/bg7rLs8
Alguien sabe cómo puedo hacerlo? Muchas gracias de antemano
Contenido solo visible a usuarios registrados
Que tal Oscar,
Si este botón lo quieres dentro del contenido de tu evento puedes hacerlo desde el editor agregando un enlace simple y luego aplicarle estilos a dicho enlace.
Otra opción es usar algún complemento que añada botones directo en el editor de texto como el siguiente https://wordpress.org/plugins/forget-about-shortcode-buttons/
Saludos
@bruno-vichetti Muchas gracias Bruno, pero no consigo llegar al código del plugin donde poder modificar ese código...
El plugin permite añadir un enlace que se muestra así en el propio evento "Ver la web Evento": https://ibb.co/bKFwvtJ
Ese enlace tampoco consigo cambiarlo. Y añadirlo en el listing menos aún.
Tendría que cambiar ese "Ver la web Evento" para que se mostrase un botón llamativo para comprar los tickets directamente. Y que ese mismo botón se mostrase cuando los eventos se muestran el modo listado. Donde están marcados los recuadros rosas: https://ibb.co/5MB7LcZ
El código al que he llegado es este , y no sé qué tendría que modificar para poder hacer lo que necesito.
Spoilerthe-events-calendar/src/views/list/single-event.php<?php
/**
* List View Single Event
* This file contains one event in the list view
*
* Override this template in your own theme by creating a file at [your-theme]/tribe-events/list/single-event.php
*
* @version 4.6.19
*
*/
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
// Setup an array of venue details for use later in the template
$venue_details = tribe_get_venue_details();
// The address string via tribe_get_venue_details will often be populated even when there's
// no address, so let's get the address string on its own for a couple of checks below.
$venue_address = tribe_get_address();
// Venue
$has_venue_address = ( ! empty( $venue_details['address'] ) ) ? ' location' : '';
// Organizer
$organizer = tribe_get_organizer();
?>
<!-- Event Title -->
<?php do_action( 'tribe_events_before_the_event_title' ) ?>
<h3 class="tribe-events-list-event-title">
<a class="tribe-event-url" href="<?php echo esc_url( tribe_get_event_link() ); ?>" title="<?php the_title_attribute() ?>" rel="bookmark">
<?php the_title() ?>
</a>
</h3>
<?php do_action( 'tribe_events_after_the_event_title' ) ?>
<!-- Event Meta -->
<?php do_action( 'tribe_events_before_the_meta' ) ?>
<div class="tribe-events-event-meta">
<div class="author <?php echo esc_attr( $has_venue_address ); ?>">
<!-- Schedule & Recurrence Details -->
<div class="tribe-event-schedule-details">
<?php echo tribe_events_event_schedule_details() ?>
</div>
<?php if ( $venue_details ) : ?>
<!-- Venue Display Info -->
<div class="tribe-events-venue-details">
<?php
$address_delimiter = empty( $venue_address ) ? ' ' : ', ';
// These details are already escaped in various ways earlier in the process.
echo implode( $address_delimiter, $venue_details );
if ( tribe_show_google_map_link() ) {
echo tribe_get_map_link_html();
}
?>
</div> <!-- .tribe-events-venue-details -->
<?php endif; ?>
</div>
</div><!-- .tribe-events-event-meta -->
<!-- Event Cost -->
<?php if ( tribe_get_cost() ) : ?>
<div class="tribe-events-event-cost">
<span class="ticket-cost"><?php echo tribe_get_cost( null, true ); ?></span>
<?php
/**
* Runs after cost is displayed in list style views
*
* @since 4.5
*/
do_action( 'tribe_events_inside_cost' )
?>
</div>
<?php endif; ?>
<?php do_action( 'tribe_events_after_the_meta' ) ?>
<!-- Event Image -->
<?php echo tribe_event_featured_image( null, 'medium' ); ?>
<!-- Event Content -->
<?php do_action( 'tribe_events_before_the_content' ); ?>
<div class="tribe-events-list-event-description tribe-events-content description entry-summary">
<?php echo tribe_events_get_the_excerpt( null, wp_kses_allowed_html( 'post' ) ); ?>
<a href="<?php echo esc_url( tribe_get_event_link() ); ?>" class="tribe-events-read-more" rel="bookmark"><?php esc_html_e( 'Find out more', 'the-events-calendar' ) ?> »</a>
</div><!-- .tribe-events-list-event-description -->
<?php
do_action( 'tribe_events_after_the_content' );
Hola Oscar,
En este caso veo que esta opción está disponible en la versión plus del plugin, puedes ver más información sobre esto en el siguiente enlace -> Contenido solo visible a usuarios registrados
Si no logras añadirlos te sugiero contactes con el soporte del plugin quienes pueden indicarte de forma precisa como configurar lo que necesitas
Un Saludo
Gracias @karen. He estado probando la opción plus del plugin pero tampoco me lo soluciona. El botón que añade la opción plus es para hacer una compra integrada con el plugin. Yo simplemente necesito un botón que abra una web externa.
Hola Oscar,
En este caso tendrias que modificar la codificación del tema, si tienes la versión premiun te recomendaria que lo consultaras con los desarrolladores o bien puedes ir directamente a nuestro apartado de colaboradores:
https://www.webempresa.com/directorio-colaboradores.html
Donde podrán realizar un código a medida para este requerimiento que estas buscando.
Un saludo 🖐️
Hola Oscar.
Si quieres añadirlo en el listado de eventos puedes modificar el archivo description.php que encontraras en the-events-calendar -> src -> views -> v2 -> latest-past -> event
Al final de ese archivo puedes añadir el código para mostra el boton:
<a href="#" class="rz-button rz-button-accent rz-large brk--button-cta" style="--x:82px; --y:11.5px;">
<span>Soy un Boton</span>
</a>
Ten en cuenta que todos los eventos enlazaran a la misma URL y otra cosa a tener en cuenta es que cada vez que actualices él plugin se perderán esos cambios y tendras que volver a añadir el código.
Un saludo