Pregunta sobre The Events Calendar de Wordpress:

C贸digo corto por fine_get_start_date ()

Un usuario pregunt贸 馃憞

Hola. Estoy intentando crear un acceso directo usando fine_get_start_date (). Lo puse en las funciones my.php de la siguiente manera:

// Add Shortcode For Event Date

function start_date_shortcode() {
	
  global $post;
  echo tribe_get_start_date( $post, false, 'F j, Y - g:i a');
}

add_shortcode('start-date', 'start_date_shortcode');

Luego mape茅 este atajo en Visual Composer y lo us茅 en un bloque de texto, pero no encontr茅 nada. Solo consigo que funcione si escribo la identificaci贸n individual del evento. As铆 que supongo que es el $post no obteniendo el ID del evento.

驴C贸mo puedo arreglar esto?

Gracias por adelantado.

PD: Estoy usando este atajo en la funci贸n Post-Grid de Visual Composer. Estoy creando una cuadr铆cula personalizada.

Este tema fue modificado hace 2 a帽os, 6 meses por.

(@mrprainx)

Hace 2 a帽os, 6 meses

Editar:

Configur茅 el c贸digo de la siguiente manera:

// Add Shortcode For Event Date

function start_date_shortcode() {

  global $post
  return tribe_get_start_date( $post->id, false, 'F j, Y - g:i a');
}

add_shortcode('start-date', 'start_date_shortcode');

Pero no funciona.

(@erishel)

Hace 2 a帽os, 6 meses

Hola @mrprainx!

Gracias por comunicarte. Lamento que tengas problemas.

Para usar fine_get_start_date (); deber谩 colocarlo dentro de una consulta personalizada para que sepa de qu茅 publicaciones (en realidad eventos) est谩 extrayendo la fecha.

Aqu铆 hay un gran art铆culo que analiza ambos 鈫 https://theeventscalendar.com/knowledgebase/custom-event-queries/

隆Espero que ayude!

(@mrprainx)

Hace 2 a帽os, 6 meses

Hola Ed.

隆Esto ayud贸 mucho! 隆Gracias!

Actualic茅 el c贸digo de la siguiente manera:

// Add Shortcode For Event Date

function start_date_shortcode() {

	$events = tribe_get_events();
	
	foreach( $events as $event ) {
  
  		echo tribe_get_start_date( $event, false, 'j M, Y - g:i A');
  	} 
  
}

add_shortcode('start-date', 'start_date_shortcode');

El problema ahora es que no solo muestra la fecha de todos los eventos. Como puede ver en la imagen, tengo 2 eventos; el atajo ahora muestra la fecha de inicio de ambos:

captura de pantalla aqu铆

驴Qu茅 me estoy perdiendo?

(@mrprainx)

Hace 2 a帽os, 6 meses

Editar:

Continuo esta gu铆a, Actualic茅 el c贸digo de la siguiente manera:

// Add Shortcode For Event Date

function start_date_shortcode() {

	// Ensure the global $post variable is in scope
	global $post;
	
	// Retrieve events
	$events = tribe_get_events();
	
	// Loop through the events: set up each one as
	// the current post then use template tags to
	// display the start date date
	
	foreach ( $events as $post ) {
  		setup_postdata( $post );
  		

  	echo tribe_get_start_date( $post, false, 'j M, Y - h H:i' ) . '<br/>';
  	
 	} 

}

add_shortcode('start-date', 'start_date_shortcode');

Pero sigo recibiendo la lista de fechas de inicio de todos los eventos.

Mira a la pantalla

(@mrprainx)

Hace 2 a帽os, 6 meses

Actualizar:

He le铆do que existe una forma espec铆fica de obtener detalles del trabajo para Visual Composer Job Grid. Es por eso que la funci贸n no recibi贸 un 芦ID禄.

https://kb.wpbakery.com/docs/developers-how-tos/adding-custom-shortcode-to-grid-builder/

https://stackoverflow.com/questions/31196353/wordpress-getting-post-data-for-post-grid-of-visual-composer

Siguiendo estas dos gu铆as logr茅 poner en marcha la fecha de inicio del evento.

Gracias.

(@dg_amanda)

Hace 2 a帽os, 3 meses

Hola mrprainx,

驴Podr铆a publicar un ejemplo de c贸mo pudo mostrar la fecha de inicio del programa de una manera f谩cil de usar en Visual Composer Post Grid?

Estoy tratando de hacer lo mismo. Sin embargo, encuentro que no puedo usar la variable de plantilla Visual Composer para ingresar el ID de la publicaci贸n en la funci贸n get_post_meta () porque no est谩 disponible para PHP, directamente en la p谩gina del navegador.

Estoy seguro de que me perd铆 algo en los enlaces que proporcion贸 y espero aprender de c贸mo lo ha implementado con 茅xito.

Gracias por cualquier ayuda que pueda brindar.

Aqu铆 est谩 la funci贸n que estoy usando:

add_filter( 'vc_grid_item_shortcodes', 'my_module_add_grid_shortcodes' );
function my_module_add_grid_shortcodes( $shortcodes ) {
    $shortcodes['vc_post_id'] = array(
        'name' => __( 'The Events Calendar Event Date', 'my-text-domain' ),
        'base' => 'vc_post_id',
        'category' => __( 'Content', 'my-text-domain' ),
        'description' => __( 'Show current event date', 'my-text-domain' ),
        'post_type' => Vc_Grid_Item_Editor::postType(),
    );

    return $shortcodes;
}

// output function
add_shortcode( 'vc_post_id', 'vc_post_id_render' );
function vc_post_id_render() {
    $tec_id = '{{ post_data:ID }}'; // usage of template variable post_data with argument "ID"
    $tec_start = get_post_meta($tec_id, '_EventStartDate', false);
    $tec_date = tribe_format_date(array_values($tec_start)[0]);
    return $tec_date;
}

Esta respuesta fue modificada hace 2 a帽os, 3 meses por.

(@advertisingworks)

Hace 1 a帽o, 11 meses

Hola mrprainx 驴Puede aconsejarnos sobre la funci贸n que utiliz贸 para dibujar el atajo que activ贸 la fecha de salida del constructor tribal en un generador de cuadr铆cula? Gracias

(@mrprainx)

Hace 1 a帽o, 11 meses

Hola a ambos. Y lo siento Amanda por este acertijo tard铆o. No recib铆 ninguna notificaci贸n.

Para ser honesto, no lo recuerdo con claridad. Pero mi functions.php incluye:

// Add Shortcode For Event Date

function start_date_shortcode() {

	// Ensure the global $post variable is in scope
	global $post;
	
	
	// Retrieve events
	$events = tribe_get_events();
	
	// Loop through the events: set up each one as
	// the current post then use template tags to
	// display the start date date
	
	foreach ( $events as $post ) {
  		$postid = get_the_ID();
  		setup_postdata( $post );  		

  	return tribe_get_start_date( $post, false, 'j M, Y - h H:i' ) . '<br/>';
  	
 	} 

}

add_shortcode('start-date', 'start_date_shortcode');

//** Event Date Shortcodes ***********
//********************************
add_filter( 'vc_gitem_template_attribute_event_date','vc_gitem_template_attribute_event_date', 10, 2 );
function vc_gitem_template_attribute_event_date( $value, $data ) {
   extract( array_merge( array(
      'post' => null,
      'data' => '',
   ), $data ) );
  $atts_extended = array();
  parse_str( $data, $atts_extended );
  $atts = $atts_extended['atts'];
  // write all your widget code in here using queries etc
  $startdate = tribe_get_start_date( $post->ID, false, 'j M, Y' ) . '<br/>'; 
    	
  $output = $startdate;
  
  return $output;
}

add_filter( 'vc_grid_item_shortcodes', 'event_date_shortcodes' );
function event_date_shortcodes( $shortcodes ) {
   $shortcodes['vc_event_date'] = array(
     'name' => __( 'Data Evento', 'sage' ),
     'base' => 'vc_event_date',
     'icon' => get_template_directory_uri() . '/assets/images/icon.svg',
     'category' => __( 'Content', 'sage' ),
     'description' => __( 'Data evento', 'sage' ),
     'post_type' => Vc_Grid_Item_Editor::postType()
  );
  return $shortcodes;
 }

add_shortcode( 'vc_event_date', 'vc_event_date_render' );
function vc_event_date_render($atts){
   $atts = vc_map_get_attributes( 'vc_event_date', $atts );
   return '{{ event_date }}';
}

Luego, debe mapear los atajos / c贸digos cortos usando Visual Composer. Informaci贸n aqu铆: https://kb.wpbakery.com/docs/learning-more/shortcode-mapper/

Finalmente, usando el generador de cuadr铆culas (informaci贸n aqu铆: https://kb.wpbakery.com/docs/learning-more/grid-builder/) cuando agregue un nuevo elemento, ver谩 los accesos directos que ha creado.

Espero que esto ayude.

(@advertisingworks)

Hace 1 a帽o, 11 meses

Hola Sr. mrprainx

隆Perfectamente, sus soluciones funcionan muy bien!

Gracias

(@mrprainx)

Hace 1 a帽o, 11 meses

隆Excelente! 隆Encantado de ayudar!

驴Solucion贸 tu problema??

0 / 0

Deja una respuesta 0

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *