/**
  * Render the parent shortcode
  * @param  array $args     Shortcode paramters
  * @param  string $content Content between shortcode
  * @return string          HTML output
  */
 function render($args, $content = '')
 {
     global $smof_data;
     global $evl_options;
     $defaults = T4PCore_Plugin::set_shortcode_defaults(array('class' => '', 'id' => '', 'cat_slug' => '', 'columns' => 3, 'exclude_cats' => '', 'excerpt_length' => '', 'excerpt_words' => '15', 'filters' => 'yes', 'layout' => 'carousel', 'number_posts' => 8, 'animation_direction' => 'left', 'animation_speed' => '', 'animation_type' => '', 'picture_size' => 'fixed'), $args);
     $defaults['filters'] == 'yes' || $defaults['filters'] == 'true' ? $defaults['filters'] = true : ($defaults['filters'] = false);
     extract($defaults);
     self::$args = $defaults;
     // set the image size for the slideshow
     $this->set_image_size();
     if ($excerpt_length || $excerpt_length === '0') {
         $excerpt_words = $excerpt_length;
     }
     $theme = wp_get_theme();
     // gets the current theme
     if ('evolve Plus' == $theme->name || 'evolve Plus' == $theme->parent_theme) {
         $args = array('post_type' => 'evolve_portfolio', 'paged' => 1, 'posts_per_page' => $number_posts, 'has_password' => false);
     } else {
         $args = array('post_type' => 'alora_portfolio', 'paged' => 1, 'posts_per_page' => $number_posts, 'has_password' => false);
     }
     if ($defaults['exclude_cats']) {
         $cats_to_exclude = explode(',', $defaults['exclude_cats']);
     }
     if ($defaults['cat_slug']) {
         $cat_slugs = explode(',', $defaults['cat_slug']);
         if (isset($cats_to_exclude) && $cats_to_exclude) {
             $args['tax_query'] = array('relation' => 'AND', array('taxonomy' => 'portfolio_category', 'field' => 'slug', 'terms' => $cat_slugs, 'operator' => 'IN'), array('taxonomy' => 'portfolio_category', 'field' => 'slug', 'terms' => $cats_to_exclude, 'operator' => 'NOT IN'));
         } else {
             $args['tax_query'] = array(array('taxonomy' => 'portfolio_category', 'field' => 'slug', 'terms' => $cat_slugs));
         }
     }
     wp_reset_query();
     $recent_works = new WP_Query($args);
     $works = '';
     while ($recent_works->have_posts()) {
         $recent_works->the_post();
         $item_classes = $terms = $image_wrapper = $item_content = $buttons = $url = '';
         // set classes, link and target for the image extras content
         $this->set_image_extras(get_the_ID());
         if ($layout == 'carousel') {
             if (has_post_thumbnail()) {
                 if ($smof_data['image_rollover'] || $evl_options['evl_portfolio_rollover']) {
                     $image = get_the_post_thumbnail(get_the_ID(), $this->image_size);
                     $image .= $this->get_image_extras(get_the_ID());
                 } else {
                     $image = sprintf('<a href="%s">%s</a>', get_permalink(get_the_ID()), get_the_post_thumbnail(get_the_ID(), $this->image_size));
                 }
                 $works .= sprintf('<li><div %s>%s</div></li>', T4PCore_Plugin::attributes('recentworks-shortcode-img-div'), $image);
             }
         } else {
             if (has_post_thumbnail() || get_post_meta(get_the_ID(), 'pyre_video', true)) {
                 $item_cats = get_the_terms(get_the_ID(), 'portfolio_category');
                 if ($item_cats) {
                     foreach ($item_cats as $item_cat) {
                         $item_classes .= $item_cat->slug . ' ';
                     }
                 }
                 $permalink = get_permalink();
                 if (has_post_thumbnail()) {
                     $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id(get_the_ID()), $this->image_size);
                     $src = $thumbnail[0];
                     $alt = get_post_field('post_excerpt', get_post_thumbnail_id(get_the_ID()));
                     if ($smof_data['image_rollover'] || $evl_options['evl_portfolio_rollover']) {
                         $image = sprintf('<img %s />', T4PCore_Plugin::attributes('recentworks-shortcode-img', array('src' => $src, 'alt' => $alt)));
                         $image .= $this->get_image_extras(get_the_ID());
                     } else {
                         $image = sprintf('<a href="%s"><img %s /></a>', $permalink, T4PCore_Plugin::attributes('recentworks-shortcode-img', array('src' => $src, 'alt' => $alt)));
                     }
                     $image_wrapper = sprintf('<div %s>%s</div>', T4PCore_Plugin::attributes('recentworks-shortcode-img-div'), $image);
                 }
                 if ($layout == 'grid-with-excerpts') {
                     $stripped_content = strip_shortcodes(t4p_content($excerpt_words, $smof_data['strip_html_excerpt']));
                     if ($columns == 1) {
                         if (get_post_meta(get_the_ID(), 'pyre_project_url', true)) {
                             $url = sprintf('<a href="%s" %s>%s</a>', get_post_meta(get_the_ID(), 'pyre_project_url', true), T4PCore_Plugin::attributes('t4p-button medium default'), __('View Project', 't4p-core'));
                         }
                         $buttons = sprintf('<div %s><a href="%s" %s>%s</a>%s</div>', T4PCore_Plugin::attributes('buttons'), $permalink, T4PCore_Plugin::attributes('t4p-button medium default'), __('Learn More', 't4p-core'), $url);
                     }
                     $item_content = sprintf('<div %s><h2 class="entry-title"><a href="%s">%s</a></h2><h4>%s</h4>%s</div>', T4PCore_Plugin::attributes('portfolio-content'), $permalink, get_the_title(), get_the_term_list(get_the_ID(), 'portfolio_category', '', '<span class="rw-comma">,</span> ', ''), $stripped_content);
                 }
                 $works .= sprintf('<div %s>%s%s</div>', T4PCore_Plugin::attributes('portfolio-item ' . $item_classes), $image_wrapper, $item_content);
             }
         }
     }
     wp_reset_query();
     if ($layout == 'carousel') {
         $html = sprintf('<div %s><div %s><div %s><ul>%s</ul></div><div %s><span %s></span><span %s></span></div></div></div>', T4PCore_Plugin::attributes('recentworks-shortcode'), T4PCore_Plugin::attributes('es-carousel-wrapper t4p-carousel-large'), T4PCore_Plugin::attributes('es-carousel'), $works, T4PCore_Plugin::attributes('es-nav'), T4PCore_Plugin::attributes('es-nav-prev'), T4PCore_Plugin::attributes('es-nav-next'));
     } else {
         $portfolio_category = get_terms('portfolio_category');
         $filter = '';
         $filter_wrapper = '';
         if ($portfolio_category && $filters == true) {
             $filter = sprintf('<li %s><a %s>%s</a></li>', T4PCore_Plugin::attributes('active'), T4PCore_Plugin::attributes('recentworks-shortcode-filter-link', array('data-filter' => '*')), __('All', 't4p-core'));
             foreach ($portfolio_category as $portfolio_cat) {
                 if (isset($args['cat_slug']) && $args['cat_slug']) {
                     $cat_slug = preg_replace('/\\s+/', '', $args['cat_slug']);
                     $cat_slug = explode(',', $cat_slug);
                     if (in_array($portfolio_cat->slug, $cat_slug)) {
                         $filter .= sprintf('<li><a %s>%s</a></li>', T4PCore_Plugin::attributes('recentworks-shortcode-filter-link', array('data-filter' => '.' . $portfolio_cat->slug)), $portfolio_cat->name);
                     }
                 } else {
                     $filter .= sprintf('<li><a %s>%s</a></li>', T4PCore_Plugin::attributes('recentworks-shortcode-filter-link', array('data-filter' => '.' . $portfolio_cat->slug)), $portfolio_cat->name);
                 }
             }
             $filter_wrapper = sprintf('<ul %s>%s</ul>', T4PCore_Plugin::attributes('portfolio-tabs'), $filter);
         }
         $html = sprintf('<div %s>%s<div %s>%s</div></div>', T4PCore_Plugin::attributes('recentworks-shortcode'), $filter_wrapper, T4PCore_Plugin::attributes('portfolio-wrapper'), $works);
     }
     $this->recent_works_counter++;
     return $html;
 }
 /**
  * Render the parent shortcode
  * @param  array $args     Shortcode paramters
  * @param  string $content Content between shortcode
  * @return string          HTML output
  */
 function render($args, $content = '')
 {
     global $smof_data;
     $defaults = T4PCore_Plugin::set_shortcode_defaults(array('class' => '', 'id' => '', 'cat_id' => '', 'cat_slug' => '', 'columns' => 3, 'excerpt' => 'no', 'exclude_cats' => '', 'excerpt_length' => '', 'excerpt_words' => '15', 'layout' => 'default', 'meta' => 'yes', 'number_posts' => 4, 'strip_html' => 'yes', 'title' => 'yes', 'thumbnail' => 'yes', 'animation_direction' => 'left', 'animation_speed' => '', 'animation_type' => ''), $args);
     extract($defaults);
     self::$args = $defaults;
     $defaults['strip_html'] == 'yes' ? $defaults['strip_html'] = true : ($defaults['strip_html'] = false);
     if ($defaults['number_posts']) {
         $defaults['posts_per_page'] = $defaults['number_posts'];
     }
     if ($defaults['excerpt_length'] || $defaults['excerpt_length'] === '0') {
         $defaults['excerpt_words'] = $defaults['excerpt_length'];
     }
     //check for cats to exclude; needs to be checked via exclude_cats param and '-' prefixed cats on cats param
     //exclution via exclude_cats param
     $cats_to_exclude = explode(',', $defaults['exclude_cats']);
     if ($cats_to_exclude) {
         foreach ($cats_to_exclude as $cat_to_exclude) {
             $idObj = get_category_by_slug($cat_to_exclude);
             if ($idObj) {
                 $cats_id_to_exclude[] = $idObj->term_id;
             }
         }
         if (isset($cats_id_to_exclude) && $cats_id_to_exclude) {
             $defaults['category__not_in'] = $cats_id_to_exclude;
         }
     }
     //setting up cats to be used and exclution using '-' prefix on cats param; transform slugs to ids
     $cat_ids = '';
     $categories = explode(',', $defaults['cat_slug']);
     if (isset($categories) && $categories) {
         foreach ($categories as $category) {
             if ($category) {
                 if (strpos($category, '-') === 0) {
                     $cat_ids .= '-' . get_category_by_slug($category)->cat_ID . ',';
                 } else {
                     $cat_ids .= get_category_by_slug($category)->cat_ID . ',';
                 }
             }
         }
     }
     $defaults['cat'] = substr($cat_ids, 0, -1);
     $defaults['cat'] .= $defaults['cat_id'];
     $items = '';
     $args = array('posts_per_page' => $defaults['number_posts'], 'ignore_sticky_posts' => 1, 'has_password' => false);
     if ($defaults['cat']) {
         $args['cat'] = $defaults['cat'];
     }
     $recent_posts = new WP_Query($args);
     $count = 1;
     while ($recent_posts->have_posts()) {
         $recent_posts->the_post();
         $attachment = $date_box = $slideshow = $slides = $content = '';
         if ($layout == 'icon-on-side') {
             switch (get_post_format()) {
                 case 'gallery':
                     $format_class = 'camera-retro';
                     break;
                 case 'link':
                     $format_class = 'link';
                     break;
                 case 'image':
                     $format_class = 'picture-o';
                     break;
                 case 'quote':
                     $format_class = 'quote-left';
                     break;
                 case 'video':
                     $format_class = 'youtube-play';
                     break;
                 case 'audio':
                     $format_class = 'headphones';
                     break;
                 case 'chat':
                     $format_class = 'comments-o';
                     break;
                 default:
                     $format_class = 'pencil';
                     break;
             }
             $date_box = sprintf('<div %s><div %s><i %s></i></div></div>', T4PCore_Plugin::attributes('date-and-formats'), T4PCore_Plugin::attributes('format-box'), T4PCore_Plugin::attributes('t4p-icon-' . $format_class));
         }
         if ($thumbnail == 'yes' && $layout != 'icon-on-side') {
             if ($layout == 'default') {
                 $image_size = 'recent-posts';
             } elseif ($layout == 'thumbnails-on-side') {
                 $image_size = 'portfolio-two';
             }
             if ($smof_data['legacy_posts_slideshow']) {
                 $args = array('exclude' => get_post_thumbnail_id(), 'numberposts' => $smof_data['posts_slideshow_number'] - 1, 'order' => 'ASC', 'orderby' => 'menu_order', 'post_mime_type' => 'image', 'post_parent' => get_the_ID(), 'post_status' => null, 'post_type' => 'attachment');
                 $attachments = get_posts($args);
                 if ($attachments || has_post_thumbnail() || get_post_meta(get_the_ID(), 'pyre_video', true)) {
                     if (get_post_meta(get_the_ID(), 'pyre_video', true)) {
                         $slides .= sprintf('<li><div %s>%s</div></li>', T4PCore_Plugin::attributes('full-video'), get_post_meta(get_the_ID(), 'pyre_video', true));
                     }
                     if (has_post_thumbnail()) {
                         $attachment_image = wp_get_attachment_image_src(get_post_thumbnail_id(), $image_size);
                         $full_image = wp_get_attachment_image_src(get_post_thumbnail_id(), 'full');
                         $attachment_data = wp_get_attachment_metadata(get_post_thumbnail_id());
                         $slides .= sprintf('<li><a href="%s"><img %s/></a></li>', get_permalink(get_the_ID()), T4PCore_Plugin::attributes('recentposts-shortcode-img', array('src' => $attachment_image[0], 'alt' => get_the_title())));
                     }
                     if ($smof_data['posts_slideshow']) {
                         foreach ($attachments as $attachment) {
                             $attachment_image = wp_get_attachment_image_src($attachment->ID, $image_size);
                             $full_image = wp_get_attachment_image_src($attachment->ID, 'full');
                             $attachment_data = wp_get_attachment_metadata($attachment->ID);
                             $slides .= sprintf('<li><a href="%s"><img %s/></a></li>', get_permalink(get_the_ID()), T4PCore_Plugin::attributes('recentposts-shortcode-img', array('src' => $attachment_image[0], 'alt' => $attachment->post_title)));
                         }
                     }
                     $slideshow = sprintf('<div %s><ul %s>%s</ul></div>', T4PCore_Plugin::attributes('recentposts-shortcode-slideshow'), T4PCore_Plugin::attributes('slides'), $slides);
                 }
             } else {
                 if (has_post_thumbnail() || get_post_meta(get_the_ID(), 'pyre_video', true)) {
                     if (get_post_meta(get_the_ID(), 'pyre_video', true)) {
                         $slides .= sprintf('<li><div %s>%s</div></li>', T4PCore_Plugin::attributes('full-video'), get_post_meta(get_the_ID(), 'pyre_video', true));
                     }
                     if (has_post_thumbnail()) {
                         $attachment_image = wp_get_attachment_image_src(get_post_thumbnail_id(), $image_size);
                         $full_image = wp_get_attachment_image_src(get_post_thumbnail_id(), 'full');
                         $attachment_data = wp_get_attachment_metadata(get_post_thumbnail_id());
                         $attachment = get_post(get_post_thumbnail_id());
                         $slides .= sprintf('<li><a href="%s"><img %s/></a></li>', get_permalink(get_the_ID()), T4PCore_Plugin::attributes('recentposts-shortcode-img', array('src' => $attachment_image[0], 'alt' => $attachment->post_title)));
                     }
                     if ($smof_data['posts_slideshow']) {
                         $i = 2;
                         while ($i <= $smof_data['posts_slideshow_number']) {
                             $attachment_new_id = kd_mfi_get_featured_image_id('featured-image-' . $i, 'post');
                             if ($attachment_new_id) {
                                 $attachment_image = wp_get_attachment_image_src($attachment_new_id, $image_size);
                                 $full_image = wp_get_attachment_image_src($attachment_new_id, 'full');
                                 $attachment_data = wp_get_attachment_metadata($attachment_new_id);
                                 $slides .= sprintf('<li><a href="%s"><img %s/></a></li>', get_permalink(get_the_ID()), T4PCore_Plugin::attributes('recentposts-shortcode-img', array('src' => $attachment_image[0], 'alt' => '')));
                             }
                             $i++;
                         }
                     }
                     $slideshow = sprintf('<div %s><ul %s>%s</ul></div>', T4PCore_Plugin::attributes('recentposts-shortcode-slideshow'), T4PCore_Plugin::attributes('slides'), $slides);
                 }
             }
         }
         if ($title == 'yes') {
             $content .= sprintf('<h3><a href="%s">%s</a></h3>', get_permalink(get_the_ID()), get_the_title());
         }
         if ($meta == 'yes') {
             $comments = '';
             if (get_comments_number(get_the_ID()) >= 1) {
                 $comments = sprintf('<span %s>|</span><a href="%s">%s %s</a></span>', T4PCore_Plugin::attributes('meta-separator'), get_permalink(get_the_ID()), get_comments_number(get_the_ID()), __('Comments', 't4p-core'));
             }
             $content .= sprintf('<p %s><span><time %s>%s</time></span>%s</p>', T4PCore_Plugin::attributes('meta'), T4PCore_Plugin::attributes('date'), get_the_time($smof_data['date_format'], get_the_ID()), $comments);
         }
         if ($excerpt == 'yes') {
             $content .= t4p_content($excerpt_words, $strip_html);
         }
         $items .= sprintf('<article %s>%s%s<div %s>%s</div></article>', T4PCore_Plugin::attributes('recentposts-shortcode-column'), $date_box, $slideshow, T4PCore_Plugin::attributes('recent-posts-content'), $content);
         $count++;
     }
     $html = sprintf('<div %s><section %s><div %s>%s</div></section></div>', T4PCore_Plugin::attributes('recentposts-shortcode'), T4PCore_Plugin::attributes('recentposts-shortcode-section'), T4PCore_Plugin::attributes('row holder'), $items);
     wp_reset_query();
     return $html;
 }
 function posts_excerpt()
 {
     $html = '';
     $args = array('posts_per_page' => self::$args['limit'], 'post__not_in' => get_option('sticky_posts'), 'meta_query' => array(array('key' => '_thumbnail_id')));
     if (self::$args['post_id']) {
         $post_ids = explode(',', self::$args['post_id']);
         $args['post__in'] = $post_ids;
     }
     if (self::$args['category']) {
         $args['category_name'] = self::$args['category'];
     }
     $query = new WP_Query($args);
     if ($query->have_posts()) {
         while ($query->have_posts()) {
             $query->the_post();
             $image = wp_get_attachment_url(get_post_thumbnail_id());
             $title = get_post_field('post_excerpt', get_post_thumbnail_id());
             $alt = get_the_title();
             $image_output = sprintf('<img src="%s" alt="%s" />', $image, get_the_title());
             $link_output = sprintf('<a href="%s">%s</a>', get_permalink(), $image_output);
             $title = sprintf('<h2><a href="%s">%s</a></h2>', get_permalink(), get_the_title());
             $excerpt = sprintf('%s', t4p_content(self::$args['excerpt'], true));
             $container = sprintf('<div %s><div %s>%s</div></div>', T4PCore_Plugin::attributes('flexslider-shortcode-title-container'), T4PCore_Plugin::attributes('excerpt-container'), $title . $excerpt);
             $html .= sprintf('<li>%s</li>', $link_output . $container);
         }
     } else {
     }
     wp_reset_query();
     return $html;
 }
                                <span class="vcard" style="display: none;"><span class="fn"><?php 
            the_author_posts_link();
            ?>
</span></span>
                                <span class="updated" style="display: none;"><?php 
            the_time('c');
            ?>
</span>
                                <div class="post-content">
                                    <?php 
            $excerpt_length = $evl_options['evl_portfolio_excerpt_length'];
            $strip_html = $evl_options['evl_portfolio_strip_html'];
            ?>
                                    <?php 
            if ($evl_options['evl_portfolio_excerpt_full_content'] == 'Excerpt') {
                $stripped_content = strip_shortcodes(t4p_content($excerpt_length, $strip_html));
                echo $stripped_content;
            } else {
                the_content();
            }
            ?>
                                </div>
								<div class="buttons">
                                    <a href="<?php 
            echo $permalink;
            ?>
" class="<?php 
            echo sprintf('read-more btn btn-default button medium t4p-button button-medium button-default button-%s button-%s', strtolower($evl_options['evl_shortcode_button_shape']), strtolower($evl_options['evl_shortcode_button_type']));
            ?>
"><?php 
            echo __('Learn More', 'evolve');
Exemple #5
0
 function loop_content()
 {
     // get the post content according to the chosen kind of delivery
     if (self::$args['excerpt']) {
         $content = t4p_content(self::$args['excerpt_words'], self::$args['strip_html']);
     } else {
         $content = get_the_content();
         $content = apply_filters('the_content', $content);
         $content = str_replace(']]>', ']]&gt;', $content);
     }
     echo $content;
 }