esc_html__( 'Security check failed.', 'ultimate-post-kit' ) ), 403 ); } $settings = []; if ( isset( $_POST['settings'] ) && is_array( $_POST['settings'] ) ) { $settings = map_deep( wp_unslash( $_POST['settings'] ), 'sanitize_text_field' ); } $post_type = $settings['posts_source'] ?? 'post'; $settings = array_merge( [ 'posts_source' => 'post', 'posts_orderby' => 'date', 'posts_order' => 'DESC', 'posts_ignore_sticky_posts' => 'no', 'posts_only_with_featured_image' => 'no', 'posts_select_date' => '', 'posts_exclude_by' => [], 'posts_include_by' => [], 'posts_per_page' => isset( $_POST['per_page'] ) ? absint( $_POST['per_page'] ) : 0, 'posts_offset' => isset( $_POST['offset'] ) ? absint( $_POST['offset'] ) : 0, ], $settings ); $ajaxposts = $this->query_args($settings); ob_start(); $found_posts = false; if ( $ajaxposts->have_posts() ) { $placeholder = \Elementor\Utils::get_placeholder_image_src(); $meta_sep = $settings['meta_separator'] ?? '/'; while ( $ajaxposts->have_posts() ) { $ajaxposts->the_post(); $found_posts = true; $title = get_the_title(); $post_link = get_permalink(); $image_src = wp_get_attachment_image_src( get_post_thumbnail_id(), 'large' ); $image_src = $image_src ? $image_src[0] : $placeholder; $title_tag = Utils::get_valid_html_tag($settings['title_tags']); ?>