function et_pb_blog($atts) { extract(shortcode_atts(array('module_id' => '', 'module_class' => '', 'fullwidth' => 'on', 'posts_number' => 10, 'include_categories' => '', 'meta_date' => 'M j, Y', 'show_thumbnail' => 'on', 'show_content' => 'off', 'show_author' => 'on', 'show_date' => 'on', 'show_categories' => 'on', 'show_pagination' => 'on', 'background_layout' => 'light', 'show_more' => 'off'), $atts)); global $paged; $container_is_closed = false; if ('on' !== $fullwidth) { wp_enqueue_script('jquery-masonry-3'); } $args = array('posts_per_page' => (int) $posts_number); $et_paged = is_front_page() ? get_query_var('page') : get_query_var('paged'); if (is_front_page()) { $paged = $et_paged; } if ('' !== $include_categories) { $args['cat'] = $include_categories; } if (!is_search()) { $args['paged'] = $et_paged; } ob_start(); query_posts($args); if (have_posts()) { while (have_posts()) { the_post(); $post_format = get_post_format(); $thumb = ''; $width = 'on' === $fullwidth ? 1080 : 400; $width = (int) apply_filters('et_pb_blog_image_width', $width); $height = 'on' === $fullwidth ? 675 : 250; $height = (int) apply_filters('et_pb_blog_image_height', $height); $classtext = 'on' === $fullwidth ? 'et_pb_post_main_image' : ''; $titletext = get_the_title(); $thumbnail = get_thumbnail($width, $height, $classtext, $titletext, $titletext, false, 'Blogimage'); $thumb = $thumbnail["thumb"]; $no_thumb_class = '' === $thumb || 'off' === $show_thumbnail ? ' et_pb_no_thumb' : ''; if (in_array($post_format, array('video', 'gallery'))) { $no_thumb_class = ''; } ?> <article id="post-<?php the_ID(); ?> " <?php post_class('et_pb_post' . $no_thumb_class); ?> > <?php et_divi_post_format_content(); if (!in_array($post_format, array('link', 'audio', 'quote'))) { if ('video' === $post_format && false !== ($first_video = et_get_first_video())) { printf('<div class="et_main_video_container"> %1$s </div>', $first_video); } elseif ('gallery' === $post_format) { et_gallery_images(); } elseif ('' !== $thumb && 'on' === $show_thumbnail) { if ('on' !== $fullwidth) { echo '<div class="et_pb_image_container">'; } ?> <a href="<?php the_permalink(); ?> "> <?php print_thumbnail($thumb, $thumbnail["use_timthumb"], $titletext, $width, $height); ?> </a> <?php if ('on' !== $fullwidth) { echo '</div> <!-- .et_pb_image_container -->'; } } } ?> <div class="article_info"> <?php if ('off' === $fullwidth || !in_array($post_format, array('link', 'audio', 'quote', 'gallery'))) { ?> <?php if (!in_array($post_format, array('link', 'audio'))) { ?> <p class="post-meta"><?php echo get_the_date($meta_date); ?> </p> <h2><a href="<?php the_permalink(); ?> "><?php the_title(); ?> </a></h2> <?php } ?> <?php /* if ( 'on' === $show_author || 'on' === $show_date || 'on' === $show_categories ) { printf( '<p class="post-meta">%1$s %2$s %3$s %4$s %5$s</p>', ( 'on' === $show_author ? sprintf( __( 'by %s', 'Divi' ), et_get_the_author_posts_link() ) : '' ), ( ( 'on' === $show_author && 'on' === $show_date ) ? ' | ' : '' ), ( 'onn' === $show_date ? sprintf( __( '%s', 'Divi' ), get_the_date( $meta_date ) ) : '' ), ( (( 'on' === $show_author || 'on' === $show_date ) && 'on' === $show_categories) ? ' | ' : '' ), ( 'on' === $show_categories ? get_the_category_list(', ') : '' ) ); } */ if ('on' === $show_content) { global $more; $more = null; the_content(__('read more...', 'Divi')); } else { if (has_excerpt()) { the_excerpt(); } else { truncate_post(270); } $more = 'on' == $show_more ? sprintf(' <a href="%1$s" class="more-link" >%2$s</a>', esc_url(get_permalink()), __('read more', 'Divi')) : ''; echo $more; } ?> <?php } // 'off' === $fullwidth || ! in_array( $post_format, array( 'link', 'audio', 'quote', 'gallery' ?> </div> </article> <!-- .et_pb_post --> <?php } // endwhile if ('on' === $show_pagination && !is_search()) { echo '</div> <!-- .et_pb_posts -->'; $container_is_closed = true; if (function_exists('wp_pagenavi')) { wp_pagenavi(); } else { get_template_part('includes/navigation', 'index'); } } wp_reset_query(); } else { get_template_part('includes/no-results', 'index'); } $posts = ob_get_contents(); ob_end_clean(); $class = " et_pb_bg_layout_{$background_layout}"; $output = sprintf('<div%5$s class="%1$s%3$s%6$s"> %2$s %4$s', 'on' === $fullwidth ? 'et_pb_posts' : 'et_pb_blog_grid clearfix', $posts, esc_attr($class), !$container_is_closed ? '</div> <!-- .et_pb_posts -->' : '', '' !== $module_id ? sprintf(' id="%1$s"', esc_attr($module_id)) : '', '' !== $module_class ? sprintf(' %1$s', esc_attr($module_class)) : ''); if ('on' !== $fullwidth) { $output = sprintf('<div class="et_pb_blog_grid_wrapper">%1$s</div>', $output); } return $output; }
$height = (int) apply_filters('et_pb_index_blog_image_height', 675); $classtext = 'et_featured_image'; $titletext = get_the_title(); $thumbnail = get_thumbnail($width, $height, $classtext, $titletext, $titletext, false, 'Blogimage'); $thumb = $thumbnail["thumb"]; $post_format = get_post_format(); if ('video' === $post_format && false !== ($first_video = et_get_first_video())) { printf('<div class="et_main_video_container"> %1$s </div>', $first_video); } else { if (!in_array($post_format, array('gallery', 'link', 'quote')) && 'on' === et_get_option('divi_thumbnails', 'on') && '' !== $thumb) { print_thumbnail($thumb, $thumbnail["use_timthumb"], $titletext, $width, $height); } else { if ('gallery' === $post_format) { et_gallery_images(); } } } ?> <?php $text_color_class = et_divi_get_post_text_color(); $inline_style = et_divi_get_post_bg_inline_style(); switch ($post_format) { case 'audio': printf('<div class="et_audio_content%1$s"%2$s> %3$s </div>', esc_attr($text_color_class), $inline_style, et_pb_get_audio_player()); break; case 'quote':
function shortcode_callback($atts, $content = null, $function_name) { $module_id = $this->shortcode_atts['module_id']; $module_class = $this->shortcode_atts['module_class']; $fullwidth = $this->shortcode_atts['fullwidth']; $posts_number = $this->shortcode_atts['posts_number']; $include_categories = $this->shortcode_atts['include_categories']; $meta_date = $this->shortcode_atts['meta_date']; $show_thumbnail = $this->shortcode_atts['show_thumbnail']; $show_content = $this->shortcode_atts['show_content']; $show_author = $this->shortcode_atts['show_author']; $show_date = $this->shortcode_atts['show_date']; $show_categories = $this->shortcode_atts['show_categories']; $show_comments = $this->shortcode_atts['show_comments']; $show_pagination = $this->shortcode_atts['show_pagination']; $background_layout = $this->shortcode_atts['background_layout']; $show_more = $this->shortcode_atts['show_more']; $offset_number = $this->shortcode_atts['offset_number']; $masonry_tile_background_color = $this->shortcode_atts['masonry_tile_background_color']; $use_dropshadow = $this->shortcode_atts['use_dropshadow']; global $paged; $module_class = ET_Builder_Element::add_module_order_class($module_class, $function_name); $container_is_closed = false; if ('' !== $masonry_tile_background_color) { ET_Builder_Element::set_style($function_name, array('selector' => '%%order_class%%.et_pb_blog_grid .et_pb_post', 'declaration' => sprintf('background-color: %1$s;', esc_html($masonry_tile_background_color)))); } if ('on' !== $fullwidth) { if ('on' === $use_dropshadow) { $module_class .= ' et_pb_blog_grid_dropshadow'; } wp_enqueue_script('salvattore'); $background_layout = 'light'; } $args = array('posts_per_page' => (int) $posts_number); $et_paged = is_front_page() ? get_query_var('page') : get_query_var('paged'); if (is_front_page()) { $paged = $et_paged; } if ('' !== $include_categories) { $args['cat'] = $include_categories; } if (!is_search()) { $args['paged'] = $et_paged; } if ('' !== $offset_number && !empty($offset_number)) { /** * Offset + pagination don't play well. Manual offset calculation required * @see: https://codex.wordpress.org/Making_Custom_Queries_using_Offset_and_Pagination */ if ($paged > 1) { $args['offset'] = ($et_paged - 1) * intval($posts_number) + intval($offset_number); } else { $args['offset'] = intval($offset_number); } } if (is_single() && !isset($args['post__not_in'])) { $args['post__not_in'] = array(get_the_ID()); } ob_start(); query_posts($args); if (have_posts()) { while (have_posts()) { the_post(); $post_format = et_pb_post_format(); $thumb = ''; $width = 'on' === $fullwidth ? 1080 : 400; $width = (int) apply_filters('et_pb_blog_image_width', $width); $height = 'on' === $fullwidth ? 675 : 250; $height = (int) apply_filters('et_pb_blog_image_height', $height); $classtext = 'on' === $fullwidth ? 'et_pb_post_main_image' : ''; $titletext = get_the_title(); $thumbnail = get_thumbnail($width, $height, $classtext, $titletext, $titletext, false, 'Blogimage'); $thumb = $thumbnail["thumb"]; $no_thumb_class = '' === $thumb || 'off' === $show_thumbnail ? ' et_pb_no_thumb' : ''; if (in_array($post_format, array('video', 'gallery'))) { $no_thumb_class = ''; } ?> <article id="post-<?php the_ID(); ?> " <?php post_class('et_pb_post' . $no_thumb_class); ?> > <?php et_divi_post_format_content(); if (!in_array($post_format, array('link', 'audio', 'quote'))) { if ('video' === $post_format && false !== ($first_video = et_get_first_video())) { printf('<div class="et_main_video_container"> %1$s </div>', $first_video); } elseif ('gallery' === $post_format) { et_gallery_images(); } elseif ('' !== $thumb && 'on' === $show_thumbnail) { if ('on' !== $fullwidth) { echo '<div class="et_pb_image_container">'; } ?> <a href="<?php the_permalink(); ?> "> <?php print_thumbnail($thumb, $thumbnail["use_timthumb"], $titletext, $width, $height); ?> </a> <?php if ('on' !== $fullwidth) { echo '</div> <!-- .et_pb_image_container -->'; } } } ?> <?php if ('off' === $fullwidth || !in_array($post_format, array('link', 'audio', 'quote'))) { ?> <?php if (!in_array($post_format, array('link', 'audio'))) { ?> <h2><a href="<?php the_permalink(); ?> "><?php the_title(); ?> </a></h2> <?php } ?> <?php if ('on' === $show_author || 'on' === $show_date || 'on' === $show_categories || 'on' === $show_comments) { printf('<p class="post-meta">%1$s %2$s %3$s %4$s %5$s %6$s %7$s</p>', 'on' === $show_author ? sprintf(__('by %s', 'et_builder'), et_pb_get_the_author_posts_link()) : '', 'on' === $show_author && 'on' === $show_date ? ' | ' : '', 'on' === $show_date ? sprintf(__('%s', 'et_builder'), get_the_date($meta_date)) : '', ('on' === $show_author || 'on' === $show_date) && 'on' === $show_categories ? ' | ' : '', 'on' === $show_categories ? get_the_category_list(', ') : '', ('on' === $show_author || 'on' === $show_date || 'on' === $show_categories) && 'on' === $show_comments ? ' | ' : '', 'on' === $show_comments ? sprintf(_nx('1 Comment', '%s Comments', get_comments_number(), '', 'et_builder'), number_format_i18n(get_comments_number())) : ''); } $post_content = get_the_content(); // do not display the content if it contains Blog or Portfolio modules to avoid infinite loops if (!has_shortcode($post_content, 'et_pb_blog') && !has_shortcode($post_content, 'et_pb_portfolio')) { if ('on' === $show_content) { global $more; // page builder doesn't support more tag, so display the_content() in case of post made with page builder if (et_pb_is_pagebuilder_used(get_the_ID())) { $more = 1; the_content(); } else { $more = null; the_content(__('read more...', 'et_builder')); } } else { if (has_excerpt()) { the_excerpt(); } else { truncate_post(270); } } } else { if (has_excerpt()) { the_excerpt(); } } if ('on' !== $show_content) { $more = 'on' == $show_more ? sprintf(' <a href="%1$s" class="more-link" >%2$s</a>', esc_url(get_permalink()), __('read more', 'et_builder')) : ''; echo $more; } ?> <?php } // 'off' === $fullwidth || ! in_array( $post_format, array( 'link', 'audio', 'quote', 'gallery' ?> </article> <!-- .et_pb_post --> <?php } // endwhile if ('on' === $show_pagination && !is_search()) { echo '</div> <!-- .et_pb_posts -->'; $container_is_closed = true; if (function_exists('wp_pagenavi')) { wp_pagenavi(); } else { get_template_part('includes/navigation', 'index'); } } wp_reset_query(); } else { get_template_part('includes/no-results', 'index'); } $posts = ob_get_contents(); ob_end_clean(); $class = " et_pb_module et_pb_bg_layout_{$background_layout}"; $output = sprintf('<div%5$s class="%1$s%3$s%6$s"%7$s> %2$s %4$s', 'on' === $fullwidth ? 'et_pb_posts' : 'et_pb_blog_grid clearfix', $posts, esc_attr($class), !$container_is_closed ? '</div> <!-- .et_pb_posts -->' : '', '' !== $module_id ? sprintf(' id="%1$s"', esc_attr($module_id)) : '', '' !== $module_class ? sprintf(' %1$s', esc_attr($module_class)) : '', 'on' !== $fullwidth ? ' data-columns' : ''); if ('on' !== $fullwidth) { $output = sprintf('<div class="et_pb_blog_grid_wrapper">%1$s</div>', $output); } return $output; }