Problema con il Plugin WordPress Testimonials Widget

Oggi vediamo come risolvere un fastidioso problema legato al noto plugin testimonials widget. L’errore si ha quando al caricamento della pagina vengono visualizzati tutti i testimonial anzichè solo il primo. Vediamo come risolvere questo bug.

Il plugin è molto ben fatto, pronto per essere tradotto in più lingue anche da backend, e permette un controllo diretto di tutti i nostri testimonials. Ovviamente può essere modificato a seconda delle vostre esigenze. La cosa che ho trovato più bella di questo plugin è proprio il backend: ha un codice molto pulito e permette un rapido sviluppo e aggiunta di sezioni.

SCARICA IL PLUGIN >>

Purtroppo però a volte (almeno a me è capitato) al caricamento del widget nel front end vengono visualizzati tutti i testimonial anzichè solo il primo. Una volta ciclati correttamente tutti i testimonial il plugin funziona correttamente, ma il bug rimane molto fastidioso e può rendere poco usabile il tutto.

 Ecco come procedere per risolvere il bug.

Risoluzione del problema

file da aprire: testimonials-widget.php

Panoramica del codice incriminato:

<script type="text/javascript">
function nextTestimonial$widget_number() {
if (!jQuery('.$id_base').first().hasClass('hovered')) {
var active = jQuery('.$id_base .testimonialswidget_active');
var next = (jQuery('.$id_base .testimonialswidget_active').next().length > 0) ? jQuery('.$id_base .testimonialswidget_active').next() : jQuery('.$id_base .testimonialswidget_testimonial:first');
active.fadeOut(1250, function(){
active.removeClass('testimonialswidget_active');
next.fadeIn(500);
next.addClass('testimonialswidget_active');
});
}
}

jQuery(document).ready(function(){

jQuery('.$id_base').hover(function() { jQuery(this).addClass('hovered') }, function() { jQuery(this).removeClass('hovered') });
setInterval('nextTestimonial$widget_number()', $refresh_interval * 1000);
});
</script>

Codice da aggiungere:

jQuery('.testimonialswidget_testimonial').hide(); //elimina tutti i testimonial
jQuery('.testimonialswidget_testimonial:first').show(); //fai apparire solo il primo

Vedi i commenti per maggiori info.

Risultato finale delle modifica

<script type="text/javascript">
function nextTestimonial$widget_number() {
if (!jQuery('.$id_base').first().hasClass('hovered')) {
var active = jQuery('.$id_base .testimonialswidget_active');
var next = (jQuery('.$id_base .testimonialswidget_active').next().length > 0) ? jQuery('.$id_base .testimonialswidget_active').next() : jQuery('.$id_base .testimonialswidget_testimonial:first');
active.fadeOut(1250, function(){
active.removeClass('testimonialswidget_active');
next.fadeIn(500);
next.addClass('testimonialswidget_active');
});
}
}

jQuery(document).ready(function(){

jQuery('.testimonialswidget_testimonial').hide();
jQuery('.testimonialswidget_testimonial:first').show();

jQuery('.$id_base').hover(function() { jQuery(this).addClass('hovered') }, function() { jQuery(this).removeClass('hovered') });
setInterval('nextTestimonial$widget_number()', $refresh_interval * 1000);
});
</script>

Spero sia utile a chi usa questo plugin, enjoy!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Up Next:

Font inspiration per loghi: Awake Sans

Font inspiration per loghi: Awake Sans