'', 'id' => '', 'cat_id' => '', 'cat_slug' => '', 'columns' => 3, 'excerpt' => 'no', 'exclude_cats' => '', 'excerpt_length' => '', 'excerpt_words' => '15', // deprecated 'layout' => 'default', 'meta' => 'yes', 'number_posts' => 4, 'strip_html' => 'yes', 'title' => 'yes', 'thumbnail' => 'yes', 'animation_direction' => 'left', 'animation_speed' => '', 'animation_type' => '', ), $args ); if( $defaults['columns'] > 6 ) { $defaults['columns'] = 6; } ( $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 ) { $cat_obj = get_category_by_slug( $category ); if( isset( $cat_obj->term_id ) ) { if(strpos( $category, '-' ) === 0 ) { $cat_ids .= '-' .$cat_obj->cat_ID .','; } else { $cat_ids .= $cat_obj->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 ); if( $defaults['cat'] ) { $args['cat'] = $defaults['cat']; } if( isset( $defaults['category__not_in'] ) && is_array( $defaults['category__not_in'] ) ) { $args['category__not_in'] = $defaults['category__not_in']; } extract( $defaults ); self::$args = $defaults; $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 == 'date-on-side' ) { switch( get_post_format() ) { case 'gallery': $format_class = 'images'; break; case 'link': $format_class = 'link'; break; case 'image': $format_class = 'image'; break; case 'quote': $format_class = 'quotes-left'; break; case 'video': $format_class = 'film'; break; case 'audio': $format_class = 'headphones'; break; case 'chat': $format_class = 'bubbles'; break; default: $format_class = 'pen'; break; } $date_box = sprintf( '
%s%s
', FusionCore_Plugin::attributes( 'date-and-formats' ), FusionCore_Plugin::attributes( 'date-box' ), FusionCore_Plugin::attributes( 'date' ), get_the_time( $smof_data['alternate_date_format_day'] ), FusionCore_Plugin::attributes( 'month-year' ), get_the_time( $smof_data['alternate_date_format_month_year'] ), FusionCore_Plugin::attributes( 'format-box' ), FusionCore_Plugin::attributes( 'fusionicon-' . $format_class ) ); } if( $thumbnail == 'yes' && $layout != 'date-on-side' && ! post_password_required( get_the_ID() ) ) { if( $layout == 'default' ) { $image_size = 'recent-posts'; } elseif( $layout == 'thumbnails-on-side' ) { $image_size = 'portfolio-two'; } 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( '
  • %s
  • ', FusionCore_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( '
  • ', get_permalink( get_the_ID() ), FusionCore_Plugin::attributes( 'recentposts-shortcode-img', array( 'src' => $attachment_image[0], 'alt' => $attachment->post_title ) ) ) ; } $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( '
  • ', get_permalink( get_the_ID() ), FusionCore_Plugin::attributes( 'recentposts-shortcode-img', array( 'src' => $attachment_image[0], 'alt' => '' ) ) ) ; } $i++; } $slideshow = sprintf( '
    ', FusionCore_Plugin::attributes( 'recentposts-shortcode-slideshow' ), FusionCore_Plugin::attributes( 'slides' ), $slides ); } } if( $title == 'yes' ) { $content .= avada_render_rich_snippets_for_pages( false ); $entry_title = ''; if( ! $smof_data['disable_date_rich_snippet_pages'] ) { $entry_title = 'entry-title'; } $content .= sprintf( '

    %s

    ', $entry_title, get_permalink( get_the_ID() ), get_the_title() ); } else { $content .= avada_render_rich_snippets_for_pages(); } if( $meta == 'yes' ) { $comments = $comments_link = ''; ob_start(); comments_popup_link( __( '0 Comments', 'fusion-core' ), __( '1 Comment', 'fusion-core' ), '% ' . __( 'Comments', 'fusion-core' ) ); $comments_link = ob_get_contents(); ob_get_clean(); $comments = sprintf( '|%s', FusionCore_Plugin::attributes( 'meta-separator' ), $comments_link ); $content .= sprintf( '

    %s%s

    ', FusionCore_Plugin::attributes( 'meta' ), FusionCore_Plugin::attributes( 'date' ), get_the_time( $smof_data['date_format'], get_the_ID() ), $comments); } if( $excerpt == 'yes' ) { $content .= tf_content( $excerpt_words, $strip_html ); } if( $count == self::$args['columns'] ) { $count = 0; $items .= sprintf( '
    %s%s
    %s
    ', FusionCore_Plugin::attributes( 'recentposts-shortcode-column' ), $date_box, $slideshow, FusionCore_Plugin::attributes( 'recent-posts-content' ), $content ); } else { $items .= sprintf( '
    %s%s
    %s
    ', FusionCore_Plugin::attributes( 'recentposts-shortcode-column' ), $date_box, $slideshow, FusionCore_Plugin::attributes( 'recent-posts-content' ), $content ); } $count++; } $html = sprintf( '
    %s
    ', FusionCore_Plugin::attributes( 'recentposts-shortcode' ), FusionCore_Plugin::attributes( 'recentposts-shortcode-section' ), FusionCore_Plugin::attributes( 'row holder' ), $items ); wp_reset_query(); return $html; } function attr() { $attr = array(); $attr['class'] = sprintf( 'fusion-recent-posts avada-container layout-%s layout-columns-%s', self::$args['layout'], self::$args['columns'] ); if( self::$args['class'] ) { $attr['class'] .= ' ' . self::$args['class']; } if( self::$args['id'] ) { $attr['id'] = self::$args['id']; } if( self::$args['animation_type'] ) { $animations = FusionCore_Plugin::animations( array( 'type' => self::$args['animation_type'], 'direction' => self::$args['animation_direction'], 'speed' => self::$args['animation_speed'], ) ); $attr = array_merge( $attr, $animations ); unset($attr['animation_class']); } return $attr; } function section_attr() { $attr = array(); $attr['class'] = sprintf( 'fusion-columns columns fusion-columns-%s columns-%s', self::$args['columns'], self::$args['columns'] ); $attr['style'] = 'width:100%;'; return $attr; } function column_attr() { $attr = array(); if( self::$args['columns'] ) { $columns = 12 / self::$args['columns']; } else { $columns = 3; } $attr['class'] = sprintf( 'fusion-column column col col-lg-%s col-md-%s col-sm-%s', $columns, $columns, $columns ); if( self::$args['columns'] == '5' ) { $attr['class'] = 'fusion-column column col-lg-2 col-md-2 col-sm-2'; } return $attr; } function slideshow_attr() { $attr = array(); $attr['class'] = 'fusion-flexslider flexslider'; if( self::$args['layout'] == 'thumbnails-on-side' ) { $attr['class'] .= ' floated-slideshow'; } if( self::$args['animation_type'] ) { $animations = FusionCore_Plugin::animations( array( 'type' => self::$args['animation_type'], 'direction' => self::$args['animation_direction'], 'speed' => self::$args['animation_speed'], ) ); $attr = array_merge( $attr, $animations ); $attr['class'] .= ' ' . $attr['animation_class']; unset($attr['animation_class']); } return $attr; } function img_attr( $args ) { $attr = array(); $attr['src'] = $args['src']; if( $args['alt'] ) { $attr['alt'] = $args['alt']; } return $attr; } } new FusionSC_RecentPosts();