PluginProbe
Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog & News / 2.2.10
Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog & News v2.2.10
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 2.3.5 2.3.6 2.4.0 2.4.1 2.4.10 2.4.11 2.4.12 2.4.13 2.4.14 2.4.15 2.4.16 2.4.17 2.4.18 2.4.19 2.4.2 2.4.20 2.4.21 All 88 releases
← All changes | public/helpers/class-pcp-queryinside.php +18 -19 4.0.7 → 2.2.10 View file →
@@ -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,