<?php } } else { // Print the slider with the images & videos $gallery_images = zen_get_gallery_images(); if (has_post_thumbnail() && !post_password_required()) { $featured_image_id = get_post_thumbnail_id($post->ID); $featured_image = get_post($featured_image_id); array_unshift($gallery_images['images'], $featured_image); $gallery_images['count']++; } ?> <div class="image-post"> <?php echo zen_the_post_rs($gallery_images); ?> </div> <?php } ?> <div class="content-post-blog" <?php echo $no_featured_image_style; ?> > <?php if (is_single()) { ?>
public function zen_gallery_shortcode($content = '', $attr = array()) { static $instance = 0; $style = $order = $orderby = $id = $itemtag = $icontag = $captiontag = $columns = $size = $include = $exclude = $link = ''; // return if this is standard mode or gallery already modified if (!empty($content)) { return $content; } $instance++; $post = get_post(); if (!empty($attr['ids'])) { // 'ids' is explicitly ordered, unless you specify otherwise. if (empty($attr['orderby'])) { $attr['orderby'] = 'post__in'; } $attr['include'] = $attr['ids']; } // 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 ? $post->ID : 0, 'itemtag' => 'dl', 'icontag' => 'dt', 'captiontag' => 'dd', 'columns' => 3, 'size' => 'thumbnail', 'include' => '', 'exclude' => '', 'link' => '', 'style' => ''), $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}"; $gallery_style = $gallery_div = ''; switch ($style) { case 'slideshow': $gallery_style = "\r\n <style type='text/css'>\r\n .rsZenPortfolioSingle {\r\n margin-bottom: 20px;\r\n }\r\n /* see gallery_shortcode() in lib/functions/admin-shortcodes/shortcodes_setup.php */\r\n </style>"; $output = apply_filters('gallery_style', $gallery_style); $count = count($attachments); $attachments = array('images' => $attachments, 'count' => $count); $royal_slider = zen_the_post_rs($attachments); $output .= $royal_slider; break; default: if (apply_filters('use_default_gallery_style', true)) { $gallery_style = "\r\n <style type='text/css'>\r\n #{$selector} {\r\n margin: auto;\r\n }\r\n #{$selector} .gallery-item {\r\n float: {$float};\r\n margin-top: 10px;\r\n text-align: center;\r\n width: {$itemwidth}%;\r\n }\r\n #{$selector} .gallery-caption {\r\n margin-left: 0;\r\n }\r\n\r\n #{$selector} dt {\r\n margin: 0px 10px !important;\r\n }\r\n /* see gallery_shortcode() in wp-includes/media.php */\r\n </style>"; } $size_class = sanitize_html_class($size); $gallery_div = "<div id='{$selector}' class='gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}'>"; $output = apply_filters('gallery_style', $gallery_style . "\n\t\t" . $gallery_div); $i = 0; foreach ($attachments as $id => $attachment) { $img_html = wp_get_attachment_image($id, 'blog_single_gallery', false); $img_html = '<div class="hover-item"><span></span></div>' . $img_html; $img_link = wp_get_attachment_url($id); $img_video_url = get_post_meta($id, 'zen_video_url', true); if ($img_video_url != '') { $image_output = '<a href="' . $img_video_url . '" rel="prettyPhoto[pp_gal]" alt="">' . $img_html . '</a>'; } else { $image_output = '<a href="' . $img_link . '" rel="prettyPhoto[pp_gal]" alt="">' . $img_html . '</a>'; } $image_meta = wp_get_attachment_metadata($id); $orientation = ''; if (isset($image_meta['height'], $image_meta['width'])) { $orientation = $image_meta['height'] > $image_meta['width'] ? 'portrait' : 'landscape'; } $output .= "<{$itemtag} class='gallery-item'>"; $output .= "\r\n <{$icontag} class='gallery-icon {$orientation}'>\r\n {$image_output}\r\n </{$icontag}>"; $output .= "</{$itemtag}>"; if ($columns > 0 && ++$i % $columns == 0) { $output .= '<br style="clear: both" />'; } } $output .= "\r\n <br style='clear: both;' />\r\n </div>\n"; } return $output; }