I am attempting to integrate supersize Jquery into WordPress.
I know there is a WP plugin out there, but would prefer to do this manually as I am using custom headers, custom templates and wp-ecommerce product posts for the slides (hard to integrate with the plugin)
Everything works great, except I get an error in IE due to the final slide comma not being removed.
The IE error is: Message: ‘base.options.slides[…].thumb’ is null or not an object
===================
EDIT: I updated the code below to reflect Naor’s answer – his suggestion worked perfectly (thanks Naor!!)
<!--
Supersized 3.2.7 - Fullscreen Background jQuery Plugin
www.buildinternet.com/project/supersized
By Sam Dunn / One Mighty Roar (www.onemightyroar.com)
Released under MIT License / GPL License
Adapted for WordPress (WP Supersized 3.0.2) by Benoit De Boeck / World in my Eyes (www.worldinmyeyes.be)
-->
<script type="text/javascript">
var slides=[];
<?php $my_query = new WP_Query
( array(
'post_status' => 'publish',
'post_type' => 'wpsc-product',
//'numberposts' => 5,
'orderby' => 'title',
'order' => 'ASC',
// 'wpsc_product_category'=>'phones, laptops', // leave this out if you want to show all, or comma separate to specify categories
'showposts' => 50 ));
while( $my_query->have_posts() ) : $my_query->the_post(); ?>
slides.push({image : '<?php echo wpsc_the_product_image(); ?>', title : '<div class="slidecaptioninside"><a href="<?php echo wpsc_the_product_permalink(); ?>"><?php echo wpsc_the_product_title(); ?></a> <br /><div class="slidedescription"><?php $excerpt = wpsc_the_product_description(); echo string_limit_words($excerpt,5)."...";?> <br />Priced from- <?php echo wpsc_the_product_price(); ?> - <a href="<?php echo wpsc_the_product_permalink(); ?>">find out more</a></div>', url : '<?php echo wpsc_the_product_permalink(); ?>'});
<?php endwhile; ?>
jQuery(document).ready(function($) {
$.supersized({
//Functionality
slideshow : 1, //Slideshow on/off
autoplay : 1, //Slideshow starts playing automatically
start_slide : 1, //Start slide (0 is random)
slide_interval : 6000, //Length between transitions
random : 0,
transition : 1, //0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 7-Carousel Left
transition_speed : 800, //Speed of transition
new_window : 1, //Image links open in new window/tab
pause_hover : 0, //Pause slideshow on hover
keyboard_nav : 1, //Keyboard navigation on/off
performance : 1, //0-Normal, 1-Hybrid speed/quality, 2-Optimizes image quality, 3-Optimizes transition speed // (Only works for Firefox/IE, not Webkit)
image_protect : 1, //Disables image dragging and right click with Javascript
image_path : '<?php bloginfo('template_url'); ?>/supersized/img/', //Default image path
//Size & Position
min_width : 0, //Min width allowed (in pixels)
min_height : 0, //Min height allowed (in pixels)
vertical_center : 1, //Vertically center background
horizontal_center : 1, //Horizontally center background
fit_portrait : 1, //Portrait images will not exceed browser height
fit_landscape : 0, //Landscape images will not exceed browser width
//Components
//navigation : 1, //Slideshow controls on/off
thumbnail_navigation : 1, //Thumbnail navigation
thumb_links : 1,
slide_counter : 1, //Display slide numbers
slide_captions : 1, //Slide caption (Pull from "title" in slides array)
slides : slides,
slide_links : 'blank',
progress_bar : 1,
mouse_scrub : 1
});
});
</script>
I am not familiar with php but you can prepare the slides array before the supersized initialization like this:
And then initialize supersized:
Hope this is helps.
Good Luck!