Problemen met weergeven JQuery Slider
Voor het eerst maak een website via Wordpress met een custom theme en de daarbij horende PHP. In HTML ben ik thuis, echter is PHP voor mij nieuw.
Nu heb ik het voor elkaar gekregen dat ik in de header op de homepage een Jquery slider heb gekregen. Nu wil ik deze niet alleen op de homepage maar op alle pagina's. Ik ben in de code gaan kijken van de header en kwam dit tegen. (Op een of andere manier splitst hij de code in twee delen hier)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<!-- Header slideshow -->
<?php if(is_home() || is_front_page()) { ?>
<?php $time = get_option('minibuzz_slider_timeout') ;?>
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory'); ?>/js/jqFancyTransitions.js"></script>
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory');?>/js/s3Slider.js"></script>
<script type="text/javascript">
var $ = jQuery.noConflict();
$(document).ready(function() {
$('#s3slider').s3Slider({
timeOut:<?php echo $time ;?>
});
} else { ?>
<?php if(is_home() || is_front_page()) { ?>
<?php $time = get_option('minibuzz_slider_timeout') ;?>
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory'); ?>/js/jqFancyTransitions.js"></script>
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory');?>/js/s3Slider.js"></script>
<script type="text/javascript">
var $ = jQuery.noConflict();
$(document).ready(function() {
$('#s3slider').s3Slider({
timeOut:<?php echo $time ;?>
});
} else { ?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php $time = get_option('minibuzz_slider_timeout') ;?>
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory'); ?>/js/jqFancyTransitions.js"></script>
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory');?>/js/s3Slider.js"></script>
<script type="text/javascript">
var $ = jQuery.noConflict();
$(document).ready(function() {
$('#s3slider').s3Slider({
timeOut:<?php echo $time ;?>
});
});
</script>
<?php } ?>
<!-- cycle jquery -->
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory');?>/js/jquery.cycle.all.min.js"></script>
<script type="text/javascript">
$('.boxslideshow').cycle({
timeout: 6000, // milliseconds between slide transitions (0 to disable auto advance)
fx: 'fade', // choose your transition type, ex: fade, scrollUp, shuffle, etc...
pause: 0, // true to enable "pause on hover"
pauseOnPagerHover: 0 // true to pause when hovering over pager link
});
</script>
<!-- colorbox jquery -->
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory'); ?>/js/jquery.colorbox.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//Examples of how to assign the ColorBox event to elements
$(".image").colorbox();
$(".video").colorbox({iframe:true, innerWidth:425, innerHeight:344});
});
</script>
Het 'else' gedeelte heb ik zelf toegevoegd omdat ik het idee had dat het daar wellicht aan kon liggen. Geen resultaat, maar wel laten staan.
Onderaan het bestand stond het volgende.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php if(is_home() || is_front_page()){?>
<?php include_once (TEMPLATEPATH . '/slider.php'); ?>
<?php } else {?>
<?php include_once (TEMPLATEPATH . '/slider.php'); ?>
<?php }
?>
<?php include_once (TEMPLATEPATH . '/slider.php'); ?>
<?php } else {?>
<?php include_once (TEMPLATEPATH . '/slider.php'); ?>
<?php }
?>
Wederom het 'else' gedeelte toegevoegd. Nu kwam er op de overige pagina's wel ineens de ruimte vrij voor de slider, maar blijft het een leeg vlak. Hij wordt dus op een of andere manier niet ingeladen.
Ik heb dus geen idee waar dit aan kan liggen. De bedoeling is dus dat de slider niet alleen op de homepage, maar ook op alle overige pagina's weergeven wordt.
Ik hoop dat jullie mij hiermee kunnen helpen. Als er meer info nodig is hoor ik dat graag.
Gewijzigd op 15/05/2013 12:21:10 door Arend Alfers
Niemand kan mij hiermee helpen?
Dit kijkt namelijk of de current pagina de home of front page is. Als je die regel plus het afsluiten van de if weghaalt zal de slider op alle pagina's getoond moeten worden.
Zet de volgende keer wel even je code tussen code tags zodat het goed leesbaar is.
Gewijzigd op 15/05/2013 12:12:37 door Rick van Riel
Welk gedeelte is het afsluiten van de 'if'? Als ik namelijk alleen de regel weghaal krijg ik een foutmelding. Heb ik trouwens niet die voorwaarde met 'else' al omzeilt?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php if(is_home() || is_front_page()){?>
<?php include_once (TEMPLATEPATH . '/slider.php'); ?>
<?php } else {?>
<?php include_once (TEMPLATEPATH . '/slider.php'); ?>
<?php }
?>
<?php include_once (TEMPLATEPATH . '/slider.php'); ?>
<?php } else {?>
<?php include_once (TEMPLATEPATH . '/slider.php'); ?>
<?php }
?>
vervangen door:
Als je dit overal doet waar je die if hebt staan dan zal op elke pagina de zelfde code worden ingeladen.
Ok dit heb ik gedaan. Nu komen op de overige pagina's wel de ruimte voor de slider vrij (wat eerst niet het geval was), alleen blijft het nu een blanco gedeelte. Alsof hij de slider niet kan laden.
Je kunt even controleren of de javascript correct wordt ingeladen en controleren of er geen errors zijn in je javascript.