0, 'grid-one-layout-three' => 1, 'grid-one-layout-four' => 1, 'grid-one-layout-five' => 0, 'grid-one-layout-six' => 2, 'grid-one-layout-six-updated' => 4, 'grid-one-layout-seven' => 4, 'grid-one-layout-eight' => 3, 'grid-one-layout-nine' => 3, ); $large_item_part_one = array_slice( $post_query, 0, 1 ); $large_item_part_two = array_slice( $post_query, 1, $skip_items_for_grid_top_section[ $layout ] ); $skip_items = ( 'grid-one-layout-one' === $layout || 'grid-one-layout-five' === $layout ) || wp_is_mobile() ? 0 : $skip_items_for_grid_top_section[ $layout ] + 1; $hide_part = array( 'readMoreButton', 'taxonomy', 'excerpt' ); $hide_part_small_items = array(); switch ( $layout ) { case 'grid-one-layout-six': case 'grid-one-layout-six-updated': case 'grid-one-layout-seven': case 'grid-one-layout-eight': case 'grid-one-layout-nine': $hide_part_small_items = array( 'excerpt', 'taxonomy', 'readMoreButton' ); break; case 'grid-one-layout-three': case 'grid-one-layout-four': $hide_part = array(); break; } ob_start(); if ( 'load-more' === $pagination_type ) { // When data load by ajax and pagination type is load more. foreach ( $post_query as $data ) { self::template_one( $attributes, $data, $hide_part_small_items ); } } else { if ( ! wp_is_mobile() && ! in_array( $layout, array( 'grid-one-layout-one', 'grid-one-layout-five', ), true ) ) { ?>
2, 'grid-three-layout-two' => 2, 'grid-three-layout-three' => 1, 'grid-three-layout-four' => 0, 'grid-three-layout-five' => 3, ); $large_item_part_one = array_slice( $post_query, 0, $skip_items_for_grid_top_section[ $layout ] ); $large_item_part_two = array_slice( $post_query, $skip_items_for_grid_top_section[ $layout ] ); ob_start(); if ( 'load-more' === $pagination_type ) { // When data load by ajax and pagination type is load more. foreach ( $post_query as $data ) { self::template_one( $attributes, $data ); } } else { ?>
5, 'grid-four-layout-two' => 5, 'grid-four-layout-three' => 5, 'grid-four-layout-four' => 4, 'grid-four-layout-five' => 4, 'grid-four-layout-six' => 3, ); $large_item_part_one = array_slice( $post_query, 0, $skip_items_for_grid_top_section[ $layout ] ); $skip_post = $skip_items_for_grid_top_section[ $layout ]; $large_item_part_two = array_slice( $post_query, $skip_post ); ob_start(); if ( 'load-more' === $pagination_type ) { foreach ( $post_query as $data ) { self::template_one( $attributes, $data ); } } else { ?>
inner_blocks ) ) { return; } // Check how many inner blocks are available. $item_count = $blocks->inner_blocks->count(); for ( $index = 1; $index <= $item_count; $index++ ) { // Get the inner block data. $inner_block = $blocks->inner_blocks->current(); // If the inner block is a pagination block, get its attributes. if ( 'sp-smart-post-show/pagination' === $inner_block->name ) { $attributes = $inner_block->attributes; break; } } return $attributes; } /** * Renders the loop template for a single post item. * * @param array $attributes Block attributes. * @param array $data Post data for the current item. * @param array $hide_part Parts to hide in the template. */ public static function loop_template( $attributes, $data, $hide_part ) { $content_part_array = isset( $attributes['contentPartArray'] ) ? $attributes['contentPartArray'] : array(); $orientation = $attributes['contentOrientation'] ?? 'orientation_one'; $category_position = $attributes['catTabCategoryPosition'] ?? ''; $social_share_icon_position = isset( $attributes['socialShareIconPosition'] ) ? $attributes['socialShareIconPosition'] : ''; $social_icon_display_type = isset( $attributes['socialIconDisplayType'] ) ? $attributes['socialIconDisplayType'] : 'inline-icon'; $show_social_share = ( 'inline-icon' === $social_icon_display_type || '' === $social_share_icon_position ) ? true : false; $content_part = array( 'taxonomy' => ( empty( $category_position ) && 'orientation_three' !== $orientation && 'orientation_four' !== $orientation ) ? Template_Part::category( $attributes, $data ) : null, 'title' => Template_Part::title( $attributes, $data ), 'metadata' => Template_Part::meta_data( $attributes, $data ), 'excerpt' => Template_Part::excerpt( $attributes, $data ), 'readMoreButton' => Template_Part::read_more_button( $attributes, $data ), 'socialShare' => $show_social_share ? Template_Part::social_share( $attributes, $data ) : null, 'starRating' => Template_Part::star_rating( $attributes, $data ), 'price' => Template_Part::price( $attributes, $data ), 'addToCart' => Template_Part::add_to_cart( $attributes, $data ), ); ob_start(); if ( ! in_array( 'feature_image', $hide_part, true ) ) { Template_Part::feature_image( $attributes, $data ); } ?>
'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo Template_Part::title( $attributes, $data ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo 'list-one-layout-five' === $layout ? Template_Part::meta_data( $attributes, $data ) : ''; echo '
'; } ?> ' : ''; ?> ' : ''; ?>
$show_excerpt, 'excerptType' => 'limited', 'excerpt_ending_points' => '...', 'excerptLength' => $excerpt_limit, 'excerptGlobalTypography' => $meta_global_typo, ); $placeholder_img = SP_PC_URL . 'public/assets/img/placeholder.png'; ob_start(); foreach ( $post_query as $data ) { $permalink = isset( $data['link'] ) ? $data['link'] : ''; $image_alt_text = 'alt="' . ( ! empty( $data['image_alt'] ) ? esc_attr( $data['image_alt'] ) : esc_attr( $data['title'] ) ) . '"'; $post_thumbnail_url = isset( $data['post_thumbnail_url'] ) ? $data['post_thumbnail_url'] : false; $feature_image = $post_thumbnail_url ? '' : ''; $feature_image = ! empty( $feature_image ) ? $feature_image : ''; $title = isset( $data['title'] ) ? $data['title'] : ''; ?>