| @@ -7,12 +7,8 @@ | ||
| 7 | 7 | * |
| 8 | 8 | * @since 2.2.0 |
| 9 | 9 | */ |
| 10 | 10 | |
| 11 | -if ( ! defined( 'ABSPATH' ) ) { | |
| 12 | - exit; // Exit if accessed directly. | |
| 13 | -} | |
| 14 | - | |
| 15 | 11 | /** |
| 16 | 12 | * The query inside class to process the query. |
| 17 | 13 | * |
| 18 | 14 | * @since 2.2.0 |
| @@ -25,17 +21,15 @@ | ||
| 25 | 21 | * @var string post ID. |
| 26 | 22 | */ |
| 27 | 23 | |
| 28 | 24 | /** |
| 29 | - * Filtered content. | |
| 25 | + * Filtered content | |
| 30 | 26 | * |
| 31 | - * @param mixed $view_options Shortcode options. | |
| 32 | - * @param mixed $shortcode_id shortcode id. | |
| 33 | - * @param mixed $layout Upper layout based options. | |
| 34 | - * @return array | |
| 27 | + * @param integer $pcp_gl_id Shortcode ID. | |
| 28 | + * @return statement | |
| 35 | 29 | */ |
| 36 | - public static function get_filtered_content( $view_options, $shortcode_id, $layout ) { | |
| 37 | - | |
| 30 | + public static function get_filtered_content( $pcp_gl_id ) { | |
| 31 | + $view_options = get_post_meta( $pcp_gl_id, 'sp_pcp_view_options', true ); | |
| 38 | 32 | $pcp_post_type = isset( $view_options['pcp_select_post_type'] ) && ! empty( $view_options['pcp_select_post_type'] ) ? $view_options['pcp_select_post_type'] : 'any'; |
| 39 | 33 | $post_limit = isset( $view_options['pcp_post_limit'] ) ? $view_options['pcp_post_limit'] : ''; |
| 40 | 34 | $post_per_page = isset( $view_options['post_per_page'] ) ? $view_options['post_per_page'] : ''; |
| 41 | 35 | $post_offset = isset( $view_options['pcp_post_offset'] ) ? $view_options['pcp_post_offset'] : 0; |
| @@ -41,25 +35,30 @@ | ||
| 41 | 35 | $post_offset = isset( $view_options['pcp_post_offset'] ) ? $view_options['pcp_post_offset'] : 0; |
| 42 | 36 | $pcp_sticky_post = isset( $view_options['pcp_sticky_post'] ) ? $view_options['pcp_sticky_post'] : 0; |
| 43 | 37 | $post_per_page = ( $post_per_page > $post_limit ) ? $post_limit : $post_per_page; |
| 44 | 38 | |
| 45 | - $paged_var = 'paged' . $shortcode_id; | |
| 46 | - // phpcs:ignore WordPress.Security.NonceVerification -- read-only operation, so can safely ignore it. | |
| 47 | - $paged = ( ! empty( $_GET[ "$paged_var" ] ) ) ? sanitize_text_field( wp_unslash( $_GET[ "$paged_var" ] ) ) : 1; | |
| 39 | + if ( get_query_var( 'paged' ) ) { | |
| 40 | + $paged = get_query_var( 'paged' ); | |
| 41 | + } elseif ( get_query_var( 'page' ) ) { | |
| 42 | + $paged = get_query_var( 'page' ); | |
| 43 | + } else { | |
| 44 | + $paged = 1; | |
| 45 | + } | |
| 48 | 46 | |
| 49 | - $post_per_page = SP_PC_Functions::pcp_post_per_page( $post_limit, $post_per_page, $paged ); | |
| 47 | + $post_per_page = SP_PC_Functions::pcp_post_per_page( $post_limit, $post_per_page, $paged ); | |
| 50 | 48 | if ( $post_per_page < 1 ) { |
| 51 | 49 | $post_per_page = isset( $view_options['post_per_page'] ) ? $view_options['post_per_page'] : ''; |
| 52 | 50 | } |
| 53 | 51 | $offset = (int) $post_per_page * ( $paged - 1 ); |
| 52 | + $layout = get_post_meta( $pcp_gl_id, 'sp_pcp_layouts', true ); | |
| 54 | 53 | $layout_preset = isset( $layout['pcp_layout_preset'] ) ? $layout['pcp_layout_preset'] : ''; |
| 55 | 54 | $sticky_post_position = 'top_list' === $pcp_sticky_post ? 0 : 1; |
| 56 | 55 | |
| 57 | - if ( 'carousel_layout' === $layout_preset || 'slider_layout' === $layout_preset ) { | |
| 56 | + if ( 'carousel_layout' === $layout_preset ) { | |
| 58 | 57 | $post_per_page = ( $post_limit > 0 ) ? $post_limit : 999999; |
| 59 | 58 | $args = array( |
| 60 | 59 | 'post_type' => $pcp_post_type, |
| 61 | - 'suppress_filters' => false, | |
| 60 | + 'suppress_filters' => true, | |
| 62 | 61 | 'ignore_sticky_posts' => $sticky_post_position, |
| 63 | 62 | 'posts_per_page' => $post_per_page, |
| 64 | 63 | 'offset' => (int) $post_offset, |
| 65 | 64 | ); |
| @@ -65,9 +64,9 @@ | ||
| 65 | 64 | ); |
| 66 | 65 | } else { |
| 67 | 66 | $args = array( |
| 68 | 67 | 'post_type' => $pcp_post_type, |
| 69 | - 'suppress_filters' => false, | |
| 68 | + 'suppress_filters' => true, | |
| 70 | 69 | 'ignore_sticky_posts' => $sticky_post_position, |
| 71 | 70 | 'posts_per_page' => $post_per_page, |
| 72 | 71 | 'paged' => $paged, |
| 73 | 72 | 'offset' => (int) $offset + (int) $post_offset, |
| @@ -123,9 +122,9 @@ | ||
| 123 | 122 | $terms = isset( $tax_type['pcp_select_terms'] ) ? $tax_type['pcp_select_terms'] : ''; |
| 124 | 123 | if ( $taxonomy ) { |
| 125 | 124 | if ( $terms ) { |
| 126 | 125 | $operator = isset( $tax_type['pcp_taxonomy_term_operator'] ) ? $tax_type['pcp_taxonomy_term_operator'] : ''; |
| 127 | - if ( 'AND' === $operator && 1 === count( $terms ) ) { | |
| 126 | + if ( 'AND' === $operator && 1 == count( $terms ) ) { | |
| 128 | 127 | $operator = 'IN'; |
| 129 | 128 | } |
| 130 | 129 | $tax_settings[] = array( |
| 131 | 130 | 'taxonomy' => $taxonomy, |