function shortcode_callback($atts, $content = null, $function_name) { /** * Cached $wp_filter so it can be restored at the end of the callback. * This is needed because this callback uses the_content filter / calls a function * which uses the_content filter. WordPress doesn't support nested filter */ global $wp_filter; $wp_filter_cache = $wp_filter; $module_id = $this->shortcode_atts['module_id']; $module_class = $this->shortcode_atts['module_class']; $show_arrows = $this->shortcode_atts['show_arrows']; $show_pagination = $this->shortcode_atts['show_pagination']; $parallax = $this->shortcode_atts['parallax']; $parallax_method = $this->shortcode_atts['parallax_method']; $auto = $this->shortcode_atts['auto']; $auto_speed = $this->shortcode_atts['auto_speed']; $auto_ignore_hover = $this->shortcode_atts['auto_ignore_hover']; $top_padding = $this->shortcode_atts['top_padding']; $body_font_size = $this->shortcode_atts['body_font_size']; $bottom_padding = $this->shortcode_atts['bottom_padding']; $remove_inner_shadow = $this->shortcode_atts['remove_inner_shadow']; $hide_content_on_mobile = $this->shortcode_atts['hide_content_on_mobile']; $hide_cta_on_mobile = $this->shortcode_atts['hide_cta_on_mobile']; $show_image_video_mobile = $this->shortcode_atts['show_image_video_mobile']; $background_position = $this->shortcode_atts['background_position']; $background_size = $this->shortcode_atts['background_size']; $posts_number = $this->shortcode_atts['posts_number']; $include_categories = $this->shortcode_atts['include_categories']; $show_more_button = $this->shortcode_atts['show_more_button']; $more_text = $this->shortcode_atts['more_text']; $content_source = $this->shortcode_atts['content_source']; $background_color = $this->shortcode_atts['background_color']; $show_image = $this->shortcode_atts['show_image']; $image_placement = $this->shortcode_atts['image_placement']; $background_image = $this->shortcode_atts['background_image']; $background_layout = $this->shortcode_atts['background_layout']; $use_bg_overlay = $this->shortcode_atts['use_bg_overlay']; $bg_overlay_color = $this->shortcode_atts['bg_overlay_color']; $use_text_overlay = $this->shortcode_atts['use_text_overlay']; $text_overlay_color = $this->shortcode_atts['text_overlay_color']; $orderby = $this->shortcode_atts['orderby']; $show_meta = $this->shortcode_atts['show_meta']; $button_custom = $this->shortcode_atts['custom_button']; $custom_icon = $this->shortcode_atts['button_icon']; $use_manual_excerpt = $this->shortcode_atts['use_manual_excerpt']; $excerpt_length = $this->shortcode_atts['excerpt_length']; $text_border_radius = $this->shortcode_atts['text_border_radius']; $dot_nav_custom_color = $this->shortcode_atts['dot_nav_custom_color']; $arrows_custom_color = $this->shortcode_atts['arrows_custom_color']; $top_padding_tablet = $this->shortcode_atts['top_padding_tablet']; $top_padding_phone = $this->shortcode_atts['top_padding_phone']; $bottom_padding_tablet = $this->shortcode_atts['bottom_padding_tablet']; $bottom_padding_phone = $this->shortcode_atts['bottom_padding_phone']; $module_class = ET_Builder_Element::add_module_order_class($module_class, $function_name); $hide_on_mobile_class = self::HIDE_ON_MOBILE; if ('' !== $top_padding || '' !== $top_padding_tablet || '' !== $top_padding_phone) { $padding_values = array('desktop' => $top_padding, 'tablet' => $top_padding_tablet, 'phone' => $top_padding_phone); et_pb_generate_responsive_css($padding_values, '%%order_class%% .et_pb_slide_description', 'padding-top', $function_name); } if ('' !== $bottom_padding || '' !== $bottom_padding_tablet || '' !== $bottom_padding_phone) { $padding_values = array('desktop' => $bottom_padding, 'tablet' => $bottom_padding_tablet, 'phone' => $bottom_padding_phone); et_pb_generate_responsive_css($padding_values, '%%order_class%% .et_pb_slide_description', 'padding-bottom', $function_name); } if ('' !== $bottom_padding || '' !== $top_padding) { ET_Builder_Module::set_style($function_name, array('selector' => '%%order_class%% .et_pb_slide_description', 'declaration' => 'padding-right: 0; padding-left: 0;')); } if ('default' !== $background_position && 'off' === $parallax) { $processed_position = str_replace('_', ' ', $background_position); ET_Builder_Module::set_style($function_name, array('selector' => '%%order_class%% .et_pb_slide', 'declaration' => sprintf('background-position: %1$s;', esc_html($processed_position)))); } if ('default' !== $background_size && 'off' === $parallax) { ET_Builder_Module::set_style($function_name, array('selector' => '%%order_class%% .et_pb_slide', 'declaration' => sprintf('-moz-background-size: %1$s; -webkit-background-size: %1$s; background-size: %1$s;', esc_html($background_size)))); if ('initial' === $background_size) { ET_Builder_Module::set_style($function_name, array('selector' => 'body.ie %%order_class%% .et_pb_slide', 'declaration' => sprintf('-moz-background-size: %1$s; -webkit-background-size: %1$s; background-size: %1$s;', 'auto'))); } } if ('' !== $background_color) { ET_Builder_Element::set_style($function_name, array('selector' => '%%order_class%%.et_pb_post_slider', 'declaration' => sprintf('background-color: %1$s;', esc_html($background_color)))); } if ('' !== $background_image) { ET_Builder_Element::set_style($function_name, array('selector' => '%%order_class%%, %%order_class%%.et_pb_bg_layout_dark, %%order_class%%.et_pb_bg_layout_light', 'declaration' => sprintf('background-image: url(%1$s);', esc_url($background_image)))); } if ('on' === $use_bg_overlay && '' !== $bg_overlay_color) { ET_Builder_Element::set_style($function_name, array('selector' => '%%order_class%% .et_pb_slide .et_pb_slide_overlay_container', 'declaration' => sprintf('background-color: %1$s;', esc_html($bg_overlay_color)))); } if ('on' === $use_text_overlay && '' !== $text_overlay_color) { ET_Builder_Element::set_style($function_name, array('selector' => '%%order_class%% .et_pb_slide .et_pb_slide_title, %%order_class%% .et_pb_slide .et_pb_slide_content', 'declaration' => sprintf('background-color: %1$s;', esc_html($text_overlay_color)))); } if ('' !== $text_border_radius) { $border_radius_value = et_builder_process_range_value($text_border_radius); ET_Builder_Element::set_style($function_name, array('selector' => '%%order_class%%.et_pb_slider_with_text_overlay h2.et_pb_slide_title', 'declaration' => sprintf('-webkit-border-top-left-radius: %1$s; -webkit-border-top-right-radius: %1$s; -moz-border-radius-topleft: %1$s; -moz-border-radius-topright: %1$s; border-top-left-radius: %1$s; border-top-right-radius: %1$s;', esc_html($border_radius_value)))); ET_Builder_Element::set_style($function_name, array('selector' => '%%order_class%%.et_pb_slider_with_text_overlay .et_pb_slide_content', 'declaration' => sprintf('-webkit-border-bottom-right-radius: %1$s; -webkit-border-bottom-left-radius: %1$s; -moz-border-radius-bottomright: %1$s; -moz-border-radius-bottomleft: %1$s; border-bottom-right-radius: %1$s; border-bottom-left-radius: %1$s;', esc_html($border_radius_value)))); } $fullwidth = 'et_pb_fullwidth_post_slider' === $function_name ? 'on' : 'off'; $class = ''; $class .= 'off' === $fullwidth ? ' et_pb_slider_fullwidth_off' : ''; $class .= 'off' === $show_arrows ? ' et_pb_slider_no_arrows' : ''; $class .= 'off' === $show_pagination ? ' et_pb_slider_no_pagination' : ''; $class .= 'on' === $parallax ? ' et_pb_slider_parallax' : ''; $class .= 'on' === $auto ? ' et_slider_auto et_slider_speed_' . esc_attr($auto_speed) : ''; $class .= 'on' === $auto_ignore_hover ? ' et_slider_auto_ignore_hover' : ''; $class .= 'on' === $remove_inner_shadow ? ' et_pb_slider_no_shadow' : ''; $class .= 'on' === $show_image_video_mobile ? ' et_pb_slider_show_image' : ''; $class .= ' et_pb_post_slider_image_' . $image_placement; $class .= 'on' === $use_bg_overlay ? ' et_pb_slider_with_overlay' : ''; $class .= 'on' === $use_text_overlay ? ' et_pb_slider_with_text_overlay' : ''; $data_dot_nav_custom_color = '' !== $dot_nav_custom_color ? sprintf(' data-dots_color="%1$s"', esc_attr($dot_nav_custom_color)) : ''; $data_arrows_custom_color = '' !== $arrows_custom_color ? sprintf(' data-arrows_color="%1$s"', esc_attr($arrows_custom_color)) : ''; $args = array('posts_per_page' => (int) $posts_number); if ('' !== $include_categories) { $args['cat'] = $include_categories; } if ('date_desc' !== $orderby) { switch ($orderby) { case 'date_asc': $args['orderby'] = 'date'; $args['order'] = 'ASC'; break; case 'title_asc': $args['orderby'] = 'title'; $args['order'] = 'ASC'; break; case 'title_desc': $args['orderby'] = 'title'; $args['order'] = 'DESC'; break; case 'rand': $args['orderby'] = 'rand'; break; } } ob_start(); query_posts($args); if (have_posts()) { while (have_posts()) { the_post(); $slide_class = 'off' !== $show_image && in_array($image_placement, array('left', 'right')) && has_post_thumbnail() ? ' et_pb_slide_with_image' : ''; $slide_class .= " et_pb_bg_layout_{$background_layout}"; ?> <div class="et_pb_slide et_pb_media_alignment_center<?php echo esc_attr($slide_class); ?> " <?php if ('on' !== $parallax && 'off' !== $show_image && 'background' === $image_placement) { printf('style="background-image:url(%1$s)"', esc_url(wp_get_attachment_url(get_post_thumbnail_id()))); } echo $data_dot_nav_custom_color; echo $data_arrows_custom_color; ?> > <?php if ('on' === $parallax && 'off' !== $show_image && 'background' === $image_placement) { ?> <div class="et_parallax_bg<?php if ('off' === $parallax_method) { echo ' et_pb_parallax_css'; } ?> " style="background-image: url(<?php echo esc_url(wp_get_attachment_url(get_post_thumbnail_id())); ?> );"></div> <?php } ?> <?php if ('on' === $use_bg_overlay) { ?> <div class="et_pb_slide_overlay_container"></div> <?php } ?> <div class="et_pb_container clearfix"> <?php if ('off' !== $show_image && has_post_thumbnail() && !in_array($image_placement, array('background', 'bottom'))) { ?> <div class="et_pb_slide_image"> <?php the_post_thumbnail(); ?> </div> <?php } ?> <div class="et_pb_slide_description"> <h2 class="et_pb_slide_title"><a href="<?php esc_url(the_permalink()); ?> "><?php the_title(); ?> </a></h2> <div class="et_pb_slide_content <?php if ('on' === $hide_content_on_mobile) { echo esc_attr($hide_on_mobile_class); } ?> "> <?php if ('off' !== $show_meta) { printf('<p class="post-meta">%1$s | %2$s | %3$s | %4$s</p>', et_get_safe_localization(sprintf(__('by %s', 'et_builder'), '<span class="author vcard">' . et_pb_get_the_author_posts_link() . '</span>')), et_get_safe_localization(sprintf(__('%s', 'et_builder'), '<span class="published">' . esc_html(get_the_date()) . '</span>')), get_the_category_list(', '), sprintf(esc_html(_nx('1 Comment', '%s Comments', get_comments_number(), 'number of comments', 'et_builder')), number_format_i18n(get_comments_number()))); } ?> <?php $post_content = get_the_content(); // do not display the content if it contains Blog, Post Slider, Fullwidth Post Slider, or Portfolio modules to avoid infinite loops if (!has_shortcode($post_content, 'et_pb_blog') && !has_shortcode($post_content, 'et_pb_portfolio') && !has_shortcode($post_content, 'et_pb_post_slider') && !has_shortcode($post_content, 'et_pb_fullwidth_post_slider')) { if ('on' === $content_source) { global $more; $post_content = et_strip_shortcodes($post_content); // 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; echo apply_filters('the_content', $post_content); } else { $more = null; echo apply_filters('the_content', et_strip_shortcodes(get_the_content(esc_html__('read more...', 'et_builder')))); } } else { if (has_excerpt() && 'off' !== $use_manual_excerpt) { the_excerpt(); } else { truncate_post(intval($excerpt_length), true, '', true); } } } else { if (has_excerpt()) { the_excerpt(); } } ?> </div> <?php if ('off' !== $show_more_button && '' !== $more_text) { printf('<a href="%1$s" class="et_pb_more_button et_pb_button%4$s%5$s"%3$s>%2$s</a>', esc_url(get_permalink()), esc_html($more_text), '' !== $custom_icon && 'on' === $button_custom ? sprintf(' data-icon="%1$s"', esc_attr(et_pb_process_font_icon($custom_icon))) : '', '' !== $custom_icon && 'on' === $button_custom ? ' et_pb_custom_button_icon' : '', 'on' === $hide_cta_on_mobile ? esc_attr(" {$hide_on_mobile_class}") : ''); } ?> </div> <!-- .et_pb_slide_description --> <?php if ('off' !== $show_image && has_post_thumbnail() && 'bottom' === $image_placement) { ?> <div class="et_pb_slide_image"> <?php the_post_thumbnail(); ?> </div> <?php } ?> </div> <!-- .et_pb_container --> </div> <!-- .et_pb_slide --> <?php } // end while wp_reset_query(); } // end if $content = ob_get_contents(); ob_end_clean(); $output = sprintf('<div%3$s class="et_pb_module et_pb_slider et_pb_post_slider%1$s%4$s"> <div class="et_pb_slides"> %2$s </div> <!-- .et_pb_slides --> </div> <!-- .et_pb_slider --> ', $class, $content, '' !== $module_id ? sprintf(' id="%1$s"', esc_attr($module_id)) : '', '' !== $module_class ? sprintf(' %1$s', esc_attr($module_class)) : ''); // Restore $wp_filter $wp_filter = $wp_filter_cache; unset($wp_filter_cache); return $output; }
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; }
function et_pb_postinfo_meta($postinfo, $date_format, $comment_zero, $comment_one, $comment_more) { $postinfo_meta = ''; if (in_array('author', $postinfo)) { $postinfo_meta .= ' ' . esc_html__('by', 'et_builder') . ' ' . et_pb_get_the_author_posts_link(); } if (in_array('date', $postinfo)) { if (in_array('author', $postinfo)) { $postinfo_meta .= ' | '; } $postinfo_meta .= get_the_time(wp_unslash($date_format)); } if (in_array('categories', $postinfo)) { if (in_array('author', $postinfo) || in_array('date', $postinfo)) { $postinfo_meta .= ' | '; } $postinfo_meta .= get_the_category_list(', '); } if (in_array('comments', $postinfo)) { if (in_array('author', $postinfo) || in_array('date', $postinfo) || in_array('categories', $postinfo)) { $postinfo_meta .= ' | '; } $postinfo_meta .= et_pb_get_comments_popup_link($comment_zero, $comment_one, $comment_more); } return $postinfo_meta; }
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; // remove all filters from WP audio shortcode to make sure current theme doesn't add any elements into audio module remove_all_filters('wp_audio_shortcode_library'); remove_all_filters('wp_audio_shortcode'); remove_all_filters('wp_audio_shortcode_class'); 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()) { ?> <script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/3.3.2/masonry.pkgd.js"></script> <div class="grid js-masonry" data-masonry-options='{ "itemSelector": ".new-post", "columnWidth": ".grid-sizer", "percentPosition": true}'> <div class="grid-sizer"></div> <?php 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 onclick="location.href='<?php the_permalink(); ?> ';" style="cursor:pointer;" id="post-<?php the_ID(); ?> " class="new-post <?php $cat_color = get_the_category(); echo $cat_color[1]->slug; echo ' '; ?> "<?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_pb_gallery_images('slider'); } 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 class="entry-title"><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"> %2$s %3$s %4$s %5$s %6$s </p>', 'on' === $show_author ? sprintf(__('by %s', 'et_builder'), '<span class="author vcard">' . et_pb_get_the_author_posts_link() . '</span>') : '', 'on' === $show_author && 'on' === $show_date ? ' ' : ' ', 'on' === $show_date ? sprintf(__('%s', 'et_builder'), '<span class="published">' . get_the_date('j F') . '</span>') : ' ', ('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(), 'number of comments', '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(70); } } } 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 ?> </div> <script> if (screen.width < 1200) { var thingToRemove = document.querySelectorAll(".et_pb_section_0")[0]; thingToRemove.parentNode.removeChild(thingToRemove); var thingToRemove = document.querySelectorAll(".et_pb_section_2")[0]; thingToRemove.parentNode.removeChild(thingToRemove); } </script> <?php if ('on' === $show_pagination && !is_search()) { echo '</div> <!-- .et_pb_posts -->'; $container_is_closed = true; if (function_exists('wp_pagenavi')) { wp_pagenavi(); } else { if (et_is_builder_plugin_active()) { include ET_BUILDER_PLUGIN_DIR . 'includes/navigation.php'; } else { get_template_part('includes/navigation', 'index'); } } } wp_reset_query(); } else { if (et_is_builder_plugin_active()) { include ET_BUILDER_PLUGIN_DIR . 'includes/no-results.php'; } 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; }
function et_pb_postinfo_meta($postinfo, $date_format, $comment_zero, $comment_one, $comment_more) { $postinfo_meta = ''; if (in_array('author', $postinfo)) { $postinfo_meta .= ' ' . esc_html__('by', 'et_builder') . ' <span class="author vcard">' . et_pb_get_the_author_posts_link() . '</span>'; } if (in_array('date', $postinfo)) { if (in_array('author', $postinfo)) { $postinfo_meta .= ' | '; } $postinfo_meta .= '<span class="published">' . esc_html(get_the_time(wp_unslash($date_format))) . '</span>'; } if (in_array('categories', $postinfo)) { $categories_list = get_the_category_list(', '); // do not output anything if no categories retrieved if ('' !== $categories_list) { if (in_array('author', $postinfo) || in_array('date', $postinfo)) { $postinfo_meta .= ' | '; } $postinfo_meta .= $categories_list; } } if (in_array('comments', $postinfo)) { if (in_array('author', $postinfo) || in_array('date', $postinfo) || in_array('categories', $postinfo)) { $postinfo_meta .= ' | '; } $postinfo_meta .= et_pb_get_comments_popup_link($comment_zero, $comment_one, $comment_more); } return $postinfo_meta; }