'', 'display_title_on_thumbnail' => '', 'display_taxonomy_on_thumbnail' => '', 'display_title' => '', 'display_summary' => '', 'display_author' => '', 'display_post_date' => '', 'display_taxonomy' => '', 'display_read_more' => '', 'read_more_text' => __('Read More', 'livemesh-vc-addons'), 'taxonomy_chosen' => 'category', 'image_linkable' => '', 'post_link_new_window' => '', 'image_size' => 'large' ), lvca_get_default_atts_carousel() ); $settings = shortcode_atts($defaults, $atts); // Sanitize settings $settings['read_more_text'] = sanitize_text_field($settings['read_more_text']); $settings['taxonomy_chosen'] = sanitize_text_field($settings['taxonomy_chosen']); $settings['image_size'] = sanitize_text_field($settings['image_size']); $settings['post_link_new_window'] = filter_var($settings['post_link_new_window'], FILTER_VALIDATE_BOOLEAN); $settings['image_linkable'] = filter_var($settings['image_linkable'], FILTER_VALIDATE_BOOLEAN); $taxonomies = array(); $posts_query = $settings['posts_query']; if (is_array($posts_query)) { $posts_query['post_status'] = 'publish'; } else { $posts_query .= '|post_status:publish'; } if (function_exists('vc_build_loop_query')) { $posts_query = apply_filters('lvca_posts_carousel_posts_query', $posts_query, $settings); list($query_args, $loop) = vc_build_loop_query($posts_query); } else { $query_args = array('posts_per_page' => 10, 'ignore_sticky_posts' => 1); $query_args = apply_filters('lvca_posts_carousel_query_args', $query_args, $settings); // just display first 10 posts if the user came directly to this shortcode $loop = new WP_Query($query_args); } $output = ''; if ($loop->have_posts()) { $target = $settings['post_link_new_window'] ? 'target="_blank"' : ''; // get me all array key value pairs except for those keys listed $carousel_settings = array_diff_key($settings, array( 'posts_query' => '', 'image_linkable' => '', 'display_title' => '', 'display_summary' => '' )); $uniqueid = uniqid(); $output .= '