Loading...
rm_id ) { $filter = get_term_by( 'id', $term_id, $taxonomy ); $data_attr = 'post_tag' === $taxonomy ? 'tag-'. $filter->slug : $taxonomy .'-'. $filter->slug; // Parent Filters if ( 0 === $filter->parent ) { $children = get_term_children( $filter->term_id, $taxonomy ); $data_role = ! empty($children) ? ' data-role="parent"' : ''; echo ''; if ( 'yes' !== $settings['filters_linkable'] ) { echo ''. $left_separator .''. $left_icon . esc_html($filter->name) . $right_icon . $post_count .''. $right_separator; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } else { echo ''. $left_separator .''. $left_icon . esc_html($filter->name) . $right_icon . $post_count .''. $right_separator; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } echo ''; // Get Sub Filters } else { array_push( $parent_filters, $filter->parent ); } } // All Filters } else { $all_filters = get_terms( $taxonomy ); $parent_filters = []; foreach ( $all_filters as $key => $filter ) { $data_attr = 'post_tag' === $taxonomy ? 'tag-'. $filter->slug : $taxonomy .'-'. $filter->slug; // Parent Filters if ( 0 === $filter->parent ) { $children = get_term_children( $filter->term_id, $taxonomy ); $data_role = ! empty($children) ? ' data-role="parent"' : ''; echo ''; if ( 'yes' !== $settings['filters_linkable'] ) { echo ''. $left_separator .''. $left_icon . esc_html($filter->name) . $right_icon . $post_count .''. $right_separator; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } else { echo ''. $left_separator .''. $left_icon . esc_html($filter->name) . $right_icon . $post_count .''. $right_separator; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } echo ''; // Get Sub Filters } else { array_push( $parent_filters, $filter->parent ); } } } // Sub Filters if ( 'yes' !== $settings['filters_linkable'] ) { foreach ( array_unique( $parent_filters ) as $key => $parent_filter ) { $parent = get_term_by( 'id', $parent_filter, $taxonomy ); $children = get_term_children( $parent_filter, $taxonomy ); $data_attr = 'post_tag' === $taxonomy ? 'tag-'. $parent->slug : $taxonomy .'-'. $parent->slug; echo '
    '; echo '
  • '; echo ''; echo '  '. esc_html__( 'Back', 'wpr-addons' ); echo ''; echo '
  • '; foreach ( $children as $child ) { $sub_filter = get_term_by( 'id', $child, $taxonomy ); $data_attr = 'post_tag' === $taxonomy ? 'tag-'. $sub_filter->slug : $taxonomy .'-'. $sub_filter->slug; echo '
  • '; echo ''. $left_separator .''. $left_icon . esc_html($sub_filter->name) . $right_icon . $post_count .''. $right_separator; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '
  • '; } echo '
'; } } echo ''; } // Render Grid Pagination public function render_grid_pagination( $settings ) { // Return if Disabled if ( 'yes' !== $settings['layout_pagination'] || 1 === $this->get_max_num_pages( $settings ) || 'slider' === $settings['layout_select'] ) { return; } global $paged; $pages = $this->get_max_num_pages( $settings ); $paged = empty( $paged ) ? 1 : $paged; if ( ! wpr_fs()->can_use_premium_code() ) { $settings['pagination_type'] = 'pro-is' == $settings['pagination_type'] ? 'default' : $settings['pagination_type']; } echo '
'; // Default if ( 'default' === $settings['pagination_type'] ) { if ( $paged < $pages ) { echo ''; echo Utilities::get_wpr_icon( $settings['pagination_on_icon'], 'left' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo esc_html($settings['pagination_older_text']); echo ''; } elseif ( 'yes' === $settings['pagination_disabled_arrows'] ) { echo ''; echo Utilities::get_wpr_icon( $settings['pagination_on_icon'], 'left' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo esc_html($settings['pagination_older_text']); echo ''; } if ( $paged > 1 ) { echo ''; echo esc_html($settings['pagination_newer_text']); echo Utilities::get_wpr_icon( $settings['pagination_on_icon'], 'right' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo ''; } elseif ( 'yes' === $settings['pagination_disabled_arrows'] ) { echo ''; echo esc_html($settings['pagination_newer_text']); echo Utilities::get_wpr_icon( $settings['pagination_on_icon'], 'right' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo ''; } // Numbered } elseif ( 'numbered' === $settings['pagination_type'] ) { $range = $settings['pagination_range']; $showitems = ( $range * 2 ) + 1; if ( 1 !== $pages ) { if ( 'yes' === $settings['pagination_prev_next'] || 'yes' === $settings['pagination_first_last'] ) { echo '
'; if ( 'yes' === $settings['pagination_first_last'] ) { if ( $paged >= 2 ) { echo ''; echo Utilities::get_wpr_icon( $settings['pagination_fl_icon'], 'left' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo ''. esc_html($settings['pagination_first_text']) .''; echo ''; } elseif ( 'yes' === $settings['pagination_disabled_arrows'] ) { echo ''; echo Utilities::get_wpr_icon( $settings['pagination_fl_icon'], 'left' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo ''. esc_html($settings['pagination_first_text']) .''; echo ''; } } if ( 'yes' === $settings['pagination_prev_next'] ) { if ( $paged > 1 ) { echo ''; echo Utilities::get_wpr_icon( $settings['pagination_pn_icon'], 'left' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo ''. esc_html($settings['pagination_prev_text']) .''; echo ''; } elseif ( 'yes' === $settings['pagination_disabled_arrows'] ) { echo ''; echo Utilities::get_wpr_icon( $settings['pagination_pn_icon'], 'left' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo ''. esc_html($settings['pagination_prev_text']) .''; echo ''; } } echo '
'; } for ( $i = 1; $i <= $pages; $i++ ) { if ( 1 !== $pages && ( ! ( $i >= $paged + $range + 1 || $i <= $paged - $range - 1 ) || $pages <= $showitems ) ) { if ( $paged === $i ) { echo ''. esc_html($i) .''; } else { echo ''. esc_html($i) .''; } } } if ( 'yes' === $settings['pagination_prev_next'] || 'yes' === $settings['pagination_first_last'] ) { echo '
'; if ( 'yes' === $settings['pagination_prev_next'] ) { if ( $paged < $pages ) { echo ''; echo ''. esc_html($settings['pagination_next_text']) .''; echo Utilities::get_wpr_icon( $settings['pagination_pn_icon'], 'right' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo ''; } elseif ( 'yes' === $settings['pagination_disabled_arrows'] ) { echo ''; echo ''. esc_html($settings['pagination_next_text']) .''; echo Utilities::get_wpr_icon( $settings['pagination_pn_icon'], 'right' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo ''; } } if ( 'yes' === $settings['pagination_first_last'] ) { if ( $paged <= $pages - 1 ) { echo ''; echo ''. esc_html($settings['pagination_last_text']) .''; echo Utilities::get_wpr_icon( $settings['pagination_fl_icon'], 'right' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo ''; } elseif ( 'yes' === $settings['pagination_disabled_arrows'] ) { echo ''; echo ''. esc_html($settings['pagination_last_text']) .''; echo Utilities::get_wpr_icon( $settings['pagination_fl_icon'], 'right' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo ''; } } echo '
'; } } // Load More / Infinite Scroll } else { echo ''; echo esc_html($settings['pagination_load_more_text']); echo ''; echo '
'; switch ( $settings['pagination_animation'] ) { case 'loader-1': echo '
'; echo '
'; echo '
'; echo '
'; break; case 'loader-2': echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; break; case 'loader-3': echo '
'; break; case 'loader-4': echo '
'; echo '
'; echo '
'; echo '
'; break; case 'loader-5': echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; break; case 'loader-6': echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; break; default: break; } echo '
'; echo '

'. esc_html($settings['pagination_finish_text']) .'

'; } echo '
'; } // Grid Settings public function add_grid_settings( $settings ) { if ( ! wpr_fs()->can_use_premium_code() ) { $settings['filters_deeplinking'] = ''; $settings['filters_count'] = ''; $settings['filters_default_filter'] = ''; if ( 'pro-fd' == $settings['filters_animation'] || 'pro-fs' == $settings['filters_animation'] ) { $settings['filters_animation'] = 'zoom'; } } $gutter_hr_widescreen = isset($settings['layout_gutter_hr_widescreen']['size']) ? $settings['layout_gutter_hr_widescreen']['size'] : $settings['layout_gutter_hr']['size']; $gutter_hr_desktop = $settings['layout_gutter_hr']['size']; $gutter_hr_laptop = isset($settings['layout_gutter_hr_laptop']['size']) ? $settings['layout_gutter_hr_laptop']['size'] : $gutter_hr_desktop; $gutter_hr_tablet_extra = isset($settings['layout_gutter_hr_tablet_extra']['size']) ? $settings['layout_gutter_hr_tablet_extra']['size'] : $gutter_hr_laptop; $gutter_hr_tablet = isset($settings['layout_gutter_hr_tablet']['size']) ? $settings['layout_gutter_hr_tablet']['size'] : $gutter_hr_tablet_extra; $gutter_hr_mobile_extra = isset($settings['layout_gutter_hr_mobile_extra']['size']) ? $settings['layout_gutter_hr_mobile_extra']['size'] : $gutter_hr_tablet; $gutter_hr_mobile = isset($settings['layout_gutter_hr_mobile']['size']) ? $settings['layout_gutter_hr_mobile']['size'] : $gutter_hr_mobile_extra; $gutter_vr_widescreen = isset($settings['layout_gutter_vr_widescreen']['size']) ? $settings['layout_gutter_vr_widescreen']['size'] : $settings['layout_gutter_vr']['size']; $gutter_vr_desktop = $settings['layout_gutter_vr']['size']; $gutter_vr_laptop = isset($settings['layout_gutter_vr_laptop']['size']) ? $settings['layout_gutter_vr_laptop']['size'] : $gutter_vr_desktop; $gutter_vr_tablet_extra = isset($settings['layout_gutter_vr_tablet_extra']['size']) ? $settings['layout_gutter_vr_tablet_extra']['size'] : $gutter_vr_laptop; $gutter_vr_tablet = isset($settings['layout_gutter_vr_tablet']['size']) ? $settings['layout_gutter_vr_tablet']['size'] : $gutter_vr_tablet_extra; $gutter_vr_mobile_extra = isset($settings['layout_gutter_vr_mobile_extra']['size']) ? $settings['layout_gutter_vr_mobile_extra']['size'] : $gutter_vr_tablet; $gutter_vr_mobile = isset($settings['layout_gutter_vr_mobile']['size']) ? $settings['layout_gutter_vr_mobile']['size'] : $gutter_vr_mobile_extra; //:TODO $layout_settings = [ 'layout' => $settings['layout_select'], 'columns_desktop' => $settings['layout_columns'], 'gutter_hr' => $gutter_hr_desktop, 'gutter_hr_mobile' => $gutter_hr_mobile, 'gutter_hr_mobile_extra' => $gutter_hr_mobile_extra, 'gutter_hr_tablet' => $gutter_hr_tablet, 'gutter_hr_tablet_extra' => $gutter_hr_tablet_extra, 'gutter_hr_laptop' => $gutter_hr_laptop, 'gutter_hr_widescreen' => $gutter_hr_widescreen, 'gutter_vr' => $gutter_vr_desktop, 'gutter_vr_mobile' => $gutter_vr_mobile, 'gutter_vr_mobile_extra' => $gutter_vr_mobile_extra, 'gutter_vr_tablet' => $gutter_vr_tablet, 'gutter_vr_tablet_extra' => $gutter_vr_tablet_extra, 'gutter_vr_laptop' => $gutter_vr_laptop, 'gutter_vr_widescreen' => $gutter_vr_widescreen, 'animation' => $settings['layout_animation'], 'animation_duration' => $settings['layout_animation_duration'], 'animation_delay' => $settings['layout_animation_delay'], 'deeplinking' => $settings['filters_deeplinking'], 'filters_default_filter' => $settings['filters_default_filter'], 'filters_linkable' => $settings['filters_linkable'], 'filters_count' => $settings['filters_count'], 'filters_hide_empty' => $settings['filters_hide_empty'], 'filters_animation' => $settings['filters_animation'], 'filters_animation_duration' => $settings['filters_animation_duration'], 'filters_animation_delay' => $settings['filters_animation_delay'], 'pagination_type' => $settings['pagination_type'], 'pagination_max_pages' => $this->get_max_num_pages( $settings ), ]; if ( ! wpr_fs()->can_use_premium_code() ) { $settings['lightbox_popup_thumbnails'] = ''; $settings['lightbox_popup_thumbnails_default'] = ''; $settings['lightbox_popup_sharing'] = ''; } $layout_settings['lightbox'] = [ 'selector' => '.wpr-grid-image-wrap', 'iframeMaxWidth' => '60%', 'hash' => false, 'autoplay' => $settings['lightbox_popup_autoplay'], 'pause' => $settings['lightbox_popup_pause'] * 1000, 'progressBar' => $settings['lightbox_popup_progressbar'], 'counter' => $settings['lightbox_popup_counter'], 'controls' => $settings['lightbox_popup_arrows'], 'getCaptionFromTitleOrAlt' => $settings['lightbox_popup_captions'], 'thumbnail' => $settings['lightbox_popup_thumbnails'], 'showThumbByDefault' => $settings['lightbox_popup_thumbnails_default'], 'share' => $settings['lightbox_popup_sharing'], 'zoom' => $settings['lightbox_popup_zoom'], 'fullScreen' => $settings['lightbox_popup_fullscreen'], 'download' => $settings['lightbox_popup_download'], ]; $this->add_render_attribute( 'grid-settings', [ 'data-settings' => wp_json_encode( $layout_settings ), ] ); } // Slider Settings public function add_slider_settings( $settings ) { $slider_is_rtl = is_rtl(); $slider_direction = $slider_is_rtl ? 'rtl' : 'ltr'; if ( ! wpr_fs()->can_use_premium_code() ) { $settings['layout_slider_autoplay'] = ''; $settings['layout_slider_autoplay_duration'] = 0; $settings['layout_slider_pause_on_hover'] = ''; } if ( 'pro-3' == $settings['layout_slider_amount'] || 'pro-4' == $settings['layout_slider_amount'] || 'pro-5' == $settings['layout_slider_amount'] || 'pro-6' == $settings['layout_slider_amount'] ) { $settings['layout_slider_amount'] = 2; } $slider_options = [ 'rtl' => $slider_is_rtl, 'infinite' => ( $settings['layout_slider_loop'] === 'yes' ), 'speed' => absint( $settings['layout_slider_effect_duration'] * 1000 ), 'arrows' => true, 'dots' => true, 'autoplay' => ( $settings['layout_slider_autoplay'] === 'yes' ), 'autoplaySpeed' => absint( $settings['layout_slider_autoplay_duration'] * 1000 ), 'pauseOnHover' => $settings['layout_slider_pause_on_hover'], 'prevArrow' => '#wpr-grid-slider-prev-'. $this->get_id(), 'nextArrow' => '#wpr-grid-slider-next-'. $this->get_id(), 'sliderSlidesToScroll' => +$settings['layout_slides_to_scroll'], 'sliderRows' => isset($settings['layout_slider_rows']) ? $settings['layout_slider_rows'] : 1 ]; if ( ! wpr_fs()->can_use_premium_code() ) { $settings['lightbox_popup_thumbnails'] = ''; $settings['lightbox_popup_thumbnails_default'] = ''; $settings['lightbox_popup_sharing'] = ''; } // Lightbox Settings $slider_options['lightbox'] = [ 'selector' => 'article:not(.slick-cloned) .wpr-grid-image-wrap', 'iframeMaxWidth' => '60%', 'hash' => false, 'autoplay' => $settings['lightbox_popup_autoplay'], 'pause' => $settings['lightbox_popup_pause'] * 1000, 'progressBar' => $settings['lightbox_popup_progressbar'], 'counter' => $settings['lightbox_popup_counter'], 'controls' => $settings['lightbox_popup_arrows'], 'getCaptionFromTitleOrAlt' => $settings['lightbox_popup_captions'], 'thumbnail' => $settings['lightbox_popup_thumbnails'], 'showThumbByDefault' => $settings['lightbox_popup_thumbnails_default'], 'share' => $settings['lightbox_popup_sharing'], 'zoom' => $settings['lightbox_popup_zoom'], 'fullScreen' => $settings['lightbox_popup_fullscreen'], 'download' => $settings['lightbox_popup_download'] ]; if ( $settings['layout_slider_amount'] === 1 && $settings['layout_slider_effect'] === 'fade' ) { $slider_options['fade'] = true; } $this->add_render_attribute( 'slider-settings', [ 'dir' => esc_attr( $slider_direction ), 'data-slick' => wp_json_encode( $slider_options ), ] ); } protected function render() { // Get Settings $settings = $this->get_settings(); // Get Posts $posts = new \WP_Query( $this->get_main_query_args() ); // Loop: Start if ( $posts->have_posts() ) : $post_index = 0; // Grid Settings if ( 'slider' !== $settings['layout_select'] ) { // Filters $this->render_grid_filters( $settings ); $this->add_grid_settings( $settings ); $render_attribute = $this->get_render_attribute_string( 'grid-settings' ); // Slider Settings } else { $this->add_slider_settings( $settings ); $render_attribute = $this->get_render_attribute_string( 'slider-settings' ); } // Grid Wrap echo '
'; while ( $posts->have_posts() ) : $posts->the_post(); // $post_index++; // if ( Utilities::is_new_free_user() && $post_index > 12 ) { // return; // } if ( ! wp_attachment_is( 'image', get_the_ID() ) ) { continue; } // Post Class $post_class = implode( ' ', get_post_class( 'wpr-grid-item elementor-clearfix', get_the_ID() ) ); // Grid Item echo '
'; // Inner Wrapper echo '
'; // Content: Above Media $this->get_elements_by_location( 'above', $settings, get_the_ID() ); // Media echo '
'; // Post Thumbnail $this->render_post_thumbnail( $settings, get_the_ID() ); // Media Hover echo '
'; // Media Overlay $this->render_media_overlay( $settings ); // Content: Over Media $this->get_elements_by_location( 'over', $settings, get_the_ID() ); echo '
'; echo '
'; // Content: Below Media $this->get_elements_by_location( 'below', $settings, get_the_ID() ); echo '
'; // End .wpr-grid-item-inner echo '
'; // End .wpr-grid-item endwhile; // reset wp_reset_postdata(); // Grid Wrap echo '
'; if ( 'slider' === $settings['layout_select'] ) { // Slider Navigation echo '
'; echo '
'. Utilities::get_wpr_icon( $settings['layout_slider_nav_icon'], '' ) .'
'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '
'. Utilities::get_wpr_icon( $settings['layout_slider_nav_icon'], '' ) .'
'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '
'; // Slider Dots echo '
'; } // Pagination $this->render_grid_pagination( $settings ); // No Posts Found else: echo '

'. esc_html($settings['query_not_found_text']) .'

'; // Loop: End endif; } }