Events Manager y Qtranslate
En esta ocasión os explicamos otro pequeño truco para hacer que los eventos de vuestro calendario creado a raiz del plugin Events Manager funcionen correctamente con Qtranslate
El problema
En esta ocasión los enlaces o los títulos de los eventos que aparecen al hacer el mouseover por encima de una fecha del calendario, se muestran de manera similar a esto “<!–:es–>Este es el evento en castellano<!–:–><!–:ca–>Aquest es l’esdeveniment en Català<!–:–> …..” y eso no es correcto para una adecuada indexación.
Solución
Copia el siguiente código al final de tu functions.php (recomendable que tengas un child creado de tu template)
add_filter('em_event_output_placeholder','slw_em_eventlink_mod',1,3);
function slw_em_eventlink_mod($replace, $EM_Event, $result, $target){
switch ($result) {
case '#_LINKEDNAME':
case '#_EVENTLINK': //Link de Evento
case '#_EVENTNAME': //Nombre del Evento
if ( preg_match('~<\!--:([A-Za-z]*?)-->~', $replace) ) {
// Esta parte aplica el filtro al título del evento
$event_name = apply_filters('the_title', $EM_Event->event_name);
$event_link = esc_url($EM_Event->get_permalink());
$replace = esc_attr($event_name); // Asignamos el valor a mostrar
}
break;
default:
}
return $replace;
}
Verás que tu calendario muestra correctamente los títulos de los eventos en el idioma de la página que estas visualizando.
Hasta el próximo consejo!