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() ) { $i = 0; while ( $ajaxposts->have_posts() ) { $ajaxposts->the_post(); $found_posts = true; $i++; $title = get_the_title(); $post_link = esc_url( get_permalink() ); $meta_sep = $settings['meta_separator'] ?? '.'; $title_tag = Utils::get_valid_html_tag($settings['title_tags']); ?>