|
@@ -7,168 +7,6 @@
|
|
|
* @package AltoFocus
|
|
|
*/
|
|
|
|
|
|
-/*
|
|
|
- * Gallery Slider Shortcode
|
|
|
- */
|
|
|
-function altofocus_gallery_shortcode( $attr ) {
|
|
|
-
|
|
|
- $post = get_post();
|
|
|
-
|
|
|
- static $instance = 0;
|
|
|
- $instance++;
|
|
|
-
|
|
|
- if ( ! empty( $attr['ids'] ) ) {
|
|
|
-
|
|
|
- // 'ids' is explicitly ordered, unless you specify otherwise.
|
|
|
- if ( empty( $attr['orderby'] ) )
|
|
|
- $attr['orderby'] = 'post__in';
|
|
|
-
|
|
|
- $attr['include'] = $attr['ids'];
|
|
|
- }
|
|
|
-
|
|
|
- // Allow plugins/themes to override the default gallery template.
|
|
|
- $output = apply_filters( 'slider_gallery', '', $attr );
|
|
|
- if ( $output != '' )
|
|
|
- return $output;
|
|
|
-
|
|
|
- // We're trusting author input, so let's at least make sure it looks like a valid orderby statement
|
|
|
- if ( isset( $attr['orderby'] ) ) {
|
|
|
-
|
|
|
- $attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] );
|
|
|
-
|
|
|
- if ( ! $attr['orderby'] )
|
|
|
- unset( $attr['orderby'] );
|
|
|
- }
|
|
|
-
|
|
|
- extract( shortcode_atts( array(
|
|
|
- 'order' => 'ASC',
|
|
|
- 'orderby' => 'menu_order ID',
|
|
|
- 'id' => $post->ID,
|
|
|
- 'itemtag' => 'li',
|
|
|
- 'icontag' => null,
|
|
|
- 'captiontag' => 'p',
|
|
|
- 'columns' => 3,
|
|
|
- 'size' => 'large',
|
|
|
- 'include' => '',
|
|
|
- 'exclude' => ''
|
|
|
- ), $attr, 'gallery' ) );
|
|
|
-
|
|
|
- $id = intval( $id );
|
|
|
-
|
|
|
- if ( 'RAND' == $order )
|
|
|
- $orderby = 'none';
|
|
|
-
|
|
|
- if ( ! empty( $include ) ) {
|
|
|
-
|
|
|
- $_attachments = get_posts( array(
|
|
|
- 'include' => $include,
|
|
|
- 'post_status' => 'inherit',
|
|
|
- 'post_type' => 'attachment',
|
|
|
- 'post_mime_type' => 'image',
|
|
|
- 'order' => $order,
|
|
|
- 'orderby' => $orderby
|
|
|
- ) );
|
|
|
-
|
|
|
- $attachments = array();
|
|
|
-
|
|
|
- foreach ( $_attachments as $key => $val ) {
|
|
|
-
|
|
|
- $attachments[$val->ID] = $_attachments[$key];
|
|
|
- }
|
|
|
-
|
|
|
- } elseif ( ! empty( $exclude ) ) {
|
|
|
-
|
|
|
- $attachments = get_children( array(
|
|
|
- 'post_parent' => $id,
|
|
|
- 'exclude' => $exclude,
|
|
|
- 'post_status' => 'inherit',
|
|
|
- 'post_type' => 'attachment',
|
|
|
- 'post_mime_type' => 'image',
|
|
|
- 'order' => $order,
|
|
|
- 'orderby' => $orderby
|
|
|
- ) );
|
|
|
-
|
|
|
- } else {
|
|
|
-
|
|
|
- $attachments = get_children( array(
|
|
|
- 'post_parent' => $id,
|
|
|
- 'post_status' => 'inherit',
|
|
|
- 'post_type' => 'attachment',
|
|
|
- 'post_mime_type' => 'image',
|
|
|
- 'order' => $order,
|
|
|
- 'orderby' => $orderby
|
|
|
- ) );
|
|
|
- }
|
|
|
-
|
|
|
- if ( empty( $attachments ) )
|
|
|
- return '';
|
|
|
-
|
|
|
- if ( is_feed() ) {
|
|
|
-
|
|
|
- $output = "\n";
|
|
|
-
|
|
|
- foreach ( $attachments as $att_id => $attachment )
|
|
|
- $output .= wp_get_attachment_link( $att_id, $size, true ) . "\n";
|
|
|
-
|
|
|
- return $output;
|
|
|
- }
|
|
|
-
|
|
|
- $itemtag = tag_escape( $itemtag );
|
|
|
- $captiontag = tag_escape( $captiontag );
|
|
|
- $icontag = tag_escape( $icontag );
|
|
|
- $valid_tags = wp_kses_allowed_html( 'post' );
|
|
|
-
|
|
|
- if ( ! isset( $valid_tags[ $itemtag ] ) )
|
|
|
- $itemtag = 'dl';
|
|
|
- if ( ! isset( $valid_tags[ $captiontag ] ) )
|
|
|
- $captiontag = 'dd';
|
|
|
- if ( ! isset( $valid_tags[ $icontag ] ) )
|
|
|
- $icontag = 'dt';
|
|
|
-
|
|
|
- $columns = intval( $columns );
|
|
|
- $itemwidth = $columns > 0 ? floor(100/$columns) : 100;
|
|
|
- $float = is_rtl() ? 'right' : 'left';
|
|
|
-
|
|
|
- $selector = "gallery-{$instance}";
|
|
|
-
|
|
|
- $size_class = sanitize_html_class( $size );
|
|
|
- $gallery_div = "<section id=\"gallery-{$id}\" class=\"entry-gallery\"><div id=\"$selector\" class=\"flexslider slider slider-size-{$size_class}\"><ul class=\"slides\">";
|
|
|
- $output = $gallery_div;
|
|
|
-
|
|
|
- $i = 0;
|
|
|
-
|
|
|
- $attachment_id = ( empty( $attachment_id ) ) ? get_post_thumbnail_id() : (int) $attachment_id;
|
|
|
-
|
|
|
- foreach ( $attachments as $id => $attachment ) {
|
|
|
-
|
|
|
- // Get image, meta & caption
|
|
|
- $image_link = wp_get_attachment_image( $id, $size );
|
|
|
- $image_meta = wp_get_attachment_metadata( $id );
|
|
|
- $image_caption = $attachment->post_excerpt;
|
|
|
-
|
|
|
- // Set orientation
|
|
|
- $orientation = '';
|
|
|
- if ( isset( $image_meta['height'], $image_meta['width'] ) )
|
|
|
- $orientation = ( $image_meta['height'] > $image_meta['width'] ) ? 'portrait' : 'landscape';
|
|
|
-
|
|
|
- // Image markup
|
|
|
- $output .= "<{$itemtag} class=\"slide {$orientation}\">";
|
|
|
- $output .= $image_link;
|
|
|
-
|
|
|
- // Add caption if it exists
|
|
|
- if ( ! empty( $image_caption ) )
|
|
|
- $output .= '<span class="image-caption">' . $image_caption . '</span>';
|
|
|
-
|
|
|
- $output .= "</{$itemtag}>";
|
|
|
- }
|
|
|
-
|
|
|
- $output .= "</ul></div></section>\n";
|
|
|
-
|
|
|
- return $output;
|
|
|
-
|
|
|
-}
|
|
|
-add_shortcode( 'flexslider_gallery', 'altofocus_gallery_shortcode' );
|
|
|
-
|
|
|
if ( ! function_exists( 'altofocus_posted_on' ) ) :
|
|
|
/**
|
|
|
* Prints HTML with meta information for the current post-date/time and author.
|