go41

featured slideshow mit jquery.cycle.all.min.js geht in single view nicht mehr

von Joern am 8. Apr. 2014 | Keine Kommentare

meine featured slideshow in der sidebar hat auf allen Seiten funktioniert, nur bei der Ansicht eines einzelnen Beitrags liefen die Bilder nicht mehr.
Die Lösung: plugin (Akismet) lädt jquery nochmal, wie man das abstellt erkläre ich hier.

Im header des Blogs hatte ich die erforderlichen Scripts geladen:
Code:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" ></script>
<script type='text/javascript' src="<?php bloginfo('template_directory'); ?>/js/jquery.cycle.all.min.js"></script>

und nach der query für die 5 Bilder noch diesen Code:
Code:

<script type="text/javascript">
/* <![CDATA[ */
jQuery(document).ready(function($) {
$('.featured').hover(
    function() {  $('#controls').fadeIn(); },
    function() {  $('#controls').css('display', 'none'); }
);
$('#featured-slideshow').cycle({
    fx: 'zoom',
    speed: 1000,
    timeout: 5000,
   pause: true,            // pause on mouseover
   resume: true,
   next: 'a.next',
    prev: 'a.prev'
});
});
/* ]]> */
</script>

Wie gesagt, funktioniert im Prinzip gut, nur in single view eben nicht (mehr)

Was ist also bei einem einzelnen Beitrag anders als in frontpage oder category?

Das Kommentarfeld: Hier lädt Akismet mehrere javascript Dateien, bei mir zum Beispiel
Code:

<script type='text/javascript' src='http://  /wp-includes/js/jquery/jquery.js?ver=1.10.2'></script>
<script type='text/javascript' src='http://  /wp-includes/js/jquery/jquery-migrate.min.js?ver=1.2.1'></script>
<script type='text/javascript' src='http://  /wp-content/plugins/akismet/_inc/form.js?ver=3.0'></script>

nach abschalten von akismet lief die Gallerie wieder, die jquery Versionen vertragen sich nicht, noch dazu wird jquery doppelt geladen.

Wenn man nun jquery über die functions.php lädt, laden Plugins den javascript nicht nochmals!

Also die beiden Einträge in header.php (oben genannt) entfernen und mit folgendem Code in der functions.php jquery laden:

Code:

// Load jQuery solves akismet duplicate loading and slideshow not working in single.php with commentsfield
if ( !is_admin() ) {
wp_deregister_script('jquery');
wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"), false);
wp_enqueue_script('jquery');
// nun noch jquery.cycle.all.min.js laden
wp_register_script('myscript', get_bloginfo('template_directory') . "/js/jquery.cycle.all.min.js");
wp_enqueue_script('myscript');
}

Bei mir funktionert die ‚Featured Slideshow‘ wieder!
____________________
you find me on Google+, Twitter and Facebook

(von: Joern)

Sorry, no posts matched your criteria.

Autor:

Du findest mich auch auf Twitter und Facebook!

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

weitere forum Beiträge: