<?php /** * Template Name: Features or Category Slider * * This template either displays Slides taken from the "Features" custom post type. * Or Loops through posts from a certain category. This is based on the theme options set by * the user. * * @author Bowe Frankema <bowe@presscrew.com> * @link http://infinity.presscrew.com/ * @copyright Copyright (C) 2010-2011 Bowe Frankema * @license http://www.gnu.org/licenses/gpl.html GPLv2 or later * @package Infinity * @since 1.0 */ ?> <?php // slider type $slider_type = (int) infinity_option_get( 'cbox_flex_slider' ); //slider sizes $sliderheight = infinity_option_get( 'cbox-flex-slider-height' ); $sliderwidth = infinity_option_get( 'cbox-flex-slider-width' ); // locate no slides image url $no_slides_url = infinity_image_url( 'slides-bg.png' ); $no_slider_text = ''; // setup slider query args $query_args = array(); $query_args['order'] = 'ASC'; $posts_per_page = infinity_option_get( 'cbox_flex_slider_amount' ); if ( ! empty( $posts_per_page ) ) { $query_args['posts_per_page'] = (int) infinity_option_get( 'cbox_flex_slider_amount' ); } else { $query_args['posts_per_page'] = '-1'; } // site features if ( $slider_type == 1 ) { $query_args['post_type'] = 'features'; $no_slider_text = __( 'Did you know you can easily add introduction slides to your homepage? Simply visit your admin panel and add a new <strong>Featured Slide</strong>.', 'cbox-theme' ); } // post category if ( $slider_type == 2 ) { $cat_id = infinity_option_get( 'cbox_flex_slider_category' ); $cat = get_category( $cat_id ); $query_args['cat'] = $cat_id; $no_slider_text = sprintf( __( 'Did you know you can easily add introduction slides to your homepage? Simply visit your admin panel and add a new post in the <strong>%s</strong> category.', 'cbox-theme' ), $cat->name ); } // setup the slider query $slider_query = new WP_Query( $query_args ); ?> <div class="flex-container"> <div class="flexslider"> <ul class="slides"> <?php if( $slider_query->have_posts() ) : while( $slider_query->have_posts() ) : $slider_query->the_post(); // slide URL $slide_url = get_post_meta( $post->ID, '_cbox_custom_url', true ); if ( empty( $slide_url ) ) { $slide_url = get_permalink(); } else { $slide_url = esc_url( $slide_url ); } // caption $hide_caption = get_post_meta( $post->ID, '_cbox_hide_caption', true ); if ( ! $hide_caption ) { $hide_caption = "no"; } $slider_excerpt = wpautop( get_post_meta( get_the_ID(), '_cbox_slider_excerpt', true ) ); if ( empty( $slider_excerpt ) ) { $slider_excerpt = apply_filters( 'the_content', cbox_create_excerpt( get_the_content() ) ); } // video $video_value = get_post_meta( $post->ID, '_cbox_enable_custom_video', true); if ( ! $video_value ) { $video_value = "no"; } ?> <!-- Loop through slides --> <?php if( has_post_thumbnail() && $video_value == "no" ) :?> <li> <!-- Image --> <a href="<?php echo $slide_url; ?>"> <?php the_post_thumbnail( array( 'width' => $sliderwidth, 'height' => $sliderheight, 'crop' => true ) ) ?> </a> <!-- Caption --> <?php if ( $hide_caption == "no" ): /* Hide the caption if box is checked */ ?> <div class="flex-caption"> <h3> <a href="<?php echo $slide_url; ?>"> <?php the_title_attribute();?> </a> </h3> <?php echo $slider_excerpt; ?> </div> <?php endif;?> </li> <?php elseif ( $video_value == "yes" ): /* Display a video if one has been set */ ?> <li class="slide-video-embed"> <?php echo apply_filters( 'the_content', get_post_meta( get_the_ID(), '_cbox_video_url', true ) ); ?> </li> <?php /* Fallback to default slide if no features are present */ else :?> <li> <img src="<?php echo $no_slides_url ?>" width="<?php echo esc_attr( $sliderwidth ) ?>" height="319" alt="" style="height:319px;" /> <div class="flex-caption"> <h3><?php _e( 'No slides added yet!', 'cbox-theme' ); ?></h3> <p><?php echo $no_slider_text; ?></p> </div> </li> <?php endif;?> <?php endwhile; else: ?> <!-- Fallback to default slide if no features are present --> <li> <img src="<?php echo $no_slides_url ?>" width="<?php echo esc_attr( $sliderwidth ) ?>" height="319" alt="" style="height:319px;" /> <div class="flex-caption"> <h3><?php _e( 'No slides added yet!', 'cbox-theme' ); ?></h3> <p><?php echo $no_slider_text; ?></p> </div> </li> <?php endif; ?> </ul> </div> </div>