function aione_vertical_carousel_shortcode($atts)
{
    // Original Attributes, for filters
    $original_atts = $atts;
    $vcarousel_id = rand(111111, 999999);
    // Pull in shortcode attributes and set defaults
    $atts = shortcode_atts(array('title' => '', 'author' => '', 'category' => '', 'date_format' => '(n/j/Y)', 'display_posts_off' => false, 'exclude_current' => false, 'id' => false, 'ignore_sticky_posts' => false, 'image_size' => false, 'include_title' => true, 'include_author' => false, 'include_content' => false, 'include_date' => false, 'include_excerpt' => false, 'meta_key' => '', 'meta_value' => '', 'no_posts_message' => '', 'offset' => 0, 'order' => 'DESC', 'orderby' => 'date', 'post_parent' => false, 'post_status' => 'publish', 'post_type' => 'post', 'posts_per_page' => '10', 'tag' => '', 'tax_operator' => 'IN', 'tax_term' => false, 'taxonomy' => false, 'wrapper' => 'div', 'wrapper_class' => 'vcarousel', 'wrapper_id' => 'vcarousel-' . $vcarousel_id), $atts, 'vcarousel');
    wp_register_style('vcarousel', plugins_url('/css/jquery.bxslider.css', __FILE__), false, '1.0.0', 'all');
    wp_enqueue_style('vcarousel');
    wp_register_script('vcarousel', plugins_url('/js/jquery.bxslider.min.js', __FILE__), array('jquery'), '1.0.0');
    wp_enqueue_script('vcarousel');
    // End early if shortcode should be turned off
    if ($atts['display_posts_off']) {
        return;
    }
    $shortcode_title = sanitize_text_field($atts['title']);
    $author = sanitize_text_field($atts['author']);
    $category = sanitize_text_field($atts['category']);
    $date_format = sanitize_text_field($atts['date_format']);
    $exclude_current = be_display_posts_bool($atts['exclude_current']);
    $id = $atts['id'];
    // Sanitized later as an array of integers
    $ignore_sticky_posts = be_display_posts_bool($atts['ignore_sticky_posts']);
    $image_size = sanitize_key($atts['image_size']);
    $include_title = be_display_posts_bool($atts['include_title']);
    $include_author = be_display_posts_bool($atts['include_author']);
    $include_content = be_display_posts_bool($atts['include_content']);
    $include_date = be_display_posts_bool($atts['include_date']);
    $include_excerpt = be_display_posts_bool($atts['include_excerpt']);
    $meta_key = sanitize_text_field($atts['meta_key']);
    $meta_value = sanitize_text_field($atts['meta_value']);
    $no_posts_message = sanitize_text_field($atts['no_posts_message']);
    $offset = intval($atts['offset']);
    $order = sanitize_key($atts['order']);
    $orderby = sanitize_key($atts['orderby']);
    $post_parent = $atts['post_parent'];
    // Validated later, after check for 'current'
    $post_status = $atts['post_status'];
    // Validated later as one of a few values
    $post_type = sanitize_text_field($atts['post_type']);
    $posts_per_page = intval($atts['posts_per_page']);
    $tag = sanitize_text_field($atts['tag']);
    $tax_operator = $atts['tax_operator'];
    // Validated later as one of a few values
    $tax_term = sanitize_text_field($atts['tax_term']);
    $taxonomy = sanitize_key($atts['taxonomy']);
    $wrapper = sanitize_text_field($atts['wrapper']);
    $wrapper_class = sanitize_html_class($atts['wrapper_class']);
    if (!empty($wrapper_class)) {
        $wrapper_class = ' class="' . $wrapper_class . '"';
    }
    $wrapper_id = sanitize_html_class($atts['wrapper_id']);
    if (!empty($wrapper_id)) {
        $wrapper_id = ' id="' . $wrapper_id . '"';
    }
    // Set up initial query for post
    $args = array('category_name' => $category, 'order' => $order, 'orderby' => $orderby, 'post_type' => explode(',', $post_type), 'posts_per_page' => $posts_per_page, 'tag' => $tag);
    // Ignore Sticky Posts
    if ($ignore_sticky_posts) {
        $args['ignore_sticky_posts'] = true;
    }
    // Meta key (for ordering)
    if (!empty($meta_key)) {
        $args['meta_key'] = $meta_key;
    }
    // Meta value (for simple meta queries)
    if (!empty($meta_value)) {
        $args['meta_value'] = $meta_value;
    }
    // If Post IDs
    if ($id) {
        $posts_in = array_map('intval', explode(',', $id));
        $args['post__in'] = $posts_in;
    }
    // If Exclude Current
    if ($exclude_current) {
        $args['post__not_in'] = array(get_the_ID());
    }
    // Post Author
    if (!empty($author)) {
        $args['author_name'] = $author;
    }
    // Offset
    if (!empty($offset)) {
        $args['offset'] = $offset;
    }
    // Post Status
    $post_status = explode(', ', $post_status);
    $validated = array();
    $available = array('publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash', 'any');
    foreach ($post_status as $unvalidated) {
        if (in_array($unvalidated, $available)) {
            $validated[] = $unvalidated;
        }
    }
    if (!empty($validated)) {
        $args['post_status'] = $validated;
    }
    // If taxonomy attributes, create a taxonomy query
    if (!empty($taxonomy) && !empty($tax_term)) {
        // Term string to array
        $tax_term = explode(', ', $tax_term);
        // Validate operator
        if (!in_array($tax_operator, array('IN', 'NOT IN', 'AND'))) {
            $tax_operator = 'IN';
        }
        $tax_args = array('tax_query' => array(array('taxonomy' => $taxonomy, 'field' => 'slug', 'terms' => $tax_term, 'operator' => $tax_operator)));
        // Check for multiple taxonomy queries
        $count = 2;
        $more_tax_queries = false;
        while (isset($original_atts['taxonomy_' . $count]) && !empty($original_atts['taxonomy_' . $count]) && isset($original_atts['tax_' . $count . '_term']) && !empty($original_atts['tax_' . $count . '_term'])) {
            // Sanitize values
            $more_tax_queries = true;
            $taxonomy = sanitize_key($original_atts['taxonomy_' . $count]);
            $terms = explode(', ', sanitize_text_field($original_atts['tax_' . $count . '_term']));
            $tax_operator = isset($original_atts['tax_' . $count . '_operator']) ? $original_atts['tax_' . $count . '_operator'] : 'IN';
            $tax_operator = in_array($tax_operator, array('IN', 'NOT IN', 'AND')) ? $tax_operator : 'IN';
            $tax_args['tax_query'][] = array('taxonomy' => $taxonomy, 'field' => 'slug', 'terms' => $terms, 'operator' => $tax_operator);
            $count++;
        }
        if ($more_tax_queries) {
            $tax_relation = 'AND';
            if (isset($original_atts['tax_relation']) && in_array($original_atts['tax_relation'], array('AND', 'OR'))) {
                $tax_relation = $original_atts['tax_relation'];
            }
            $args['tax_query']['relation'] = $tax_relation;
        }
        $args = array_merge($args, $tax_args);
    }
    // If post parent attribute, set up parent
    if ($post_parent) {
        if ('current' == $post_parent) {
            global $post;
            $post_parent = get_the_ID();
        }
        $args['post_parent'] = intval($post_parent);
    }
    // Set up html elements used to wrap the posts.
    // Default is ul/li, but can also be ol/li and div/div
    $wrapper_options = array('ul', 'ol', 'div');
    if (!in_array($wrapper, $wrapper_options)) {
        $wrapper = 'ul';
    }
    $inner_wrapper = 'div' == $wrapper ? 'div' : 'li';
    $listing = new WP_Query(apply_filters('display_posts_shortcode_args', $args, $original_atts));
    if (!$listing->have_posts()) {
        return apply_filters('display_posts_shortcode_no_results', wpautop($no_posts_message));
    }
    $inner = '';
    while ($listing->have_posts()) {
        $listing->the_post();
        global $post;
        $image = $date = $author = $excerpt = $content = '';
        if ($include_title) {
            $title = '<a class="title" href="' . apply_filters('the_permalink', get_permalink()) . '">' . get_the_title() . '</a>';
        }
        if ($image_size && has_post_thumbnail()) {
            $image = '<a class="image" href="' . get_permalink() . '">' . get_the_post_thumbnail(get_the_ID(), $image_size) . '</a> ';
        }
        if ($include_date) {
            $date = ' <span class="date">' . get_the_date($date_format) . '</span>';
        }
        if ($include_author) {
            $author = apply_filters('display_posts_shortcode_author', ' <span class="author">by ' . get_the_author() . '</span>');
        }
        if ($include_excerpt) {
            $excerpt = ' <span class="excerpt-dash">-</span> <span class="excerpt">' . get_the_excerpt() . '</span>';
        }
        if ($include_content) {
            add_filter('shortcode_atts_display-posts', 'be_display_posts_off', 10, 3);
            $content = '<div class="content">' . apply_filters('the_content', get_the_content()) . '</div>';
            remove_filter('shortcode_atts_display-posts', 'be_display_posts_off', 10, 3);
        }
        $class = array('listing-item');
        $class = sanitize_html_class(apply_filters('display_posts_shortcode_post_class', $class, $post, $listing, $original_atts));
        $output = '<' . $inner_wrapper . ' class="' . implode(' ', $class) . '">' . $image . $title . $date . $author . $excerpt . $content . '</' . $inner_wrapper . '>';
        // If post is set to private, only show to logged in users
        if ('private' == get_post_status(get_the_ID()) && !current_user_can('read_private_posts')) {
            $output = '';
        }
        $inner .= apply_filters('display_posts_shortcode_output', $output, $original_atts, $image, $title, $date, $excerpt, $inner_wrapper, $content, $class);
    }
    wp_reset_postdata();
    $open = apply_filters('display_posts_shortcode_wrapper_open', '<' . $wrapper . $wrapper_class . $wrapper_id . '>', $original_atts);
    $close = apply_filters('display_posts_shortcode_wrapper_close', '</' . $wrapper . '>', $original_atts);
    $return = $open;
    if ($shortcode_title) {
        $title_tag = apply_filters('display_posts_shortcode_title_tag', 'h2', $original_atts);
        $return .= '<' . $title_tag . ' class="display-posts-title">' . $shortcode_title . '</' . $title_tag . '>' . "\n";
    }
    $return .= $inner . $close;
    $return .= "\n\t    <script type='text/javascript'>\n\t        jQuery(document).ready(function(){\n\t            jQuery('#vcarousel-" . $vcarousel_id . "').bxSlider({\n\t                mode: 'vertical',\n\t                speed:1000,\n\t                slideMargin:5,\n\t\n\t                minSlides: 4,\n\t                maxSlides: 4,\n\t                moveSlides: 1,\n\t                //slideWidth: 600,\n\t\n\t                //startSlide:0,\n\t                //randomStart:false,\n\t                slideSelector:'div.listing-item',\n\t                infiniteLoop:true,\n\t                hideControlOnEnd:true,\n\t                //easing:null,\n\t                //captions:false,\n\t                //ticker:true,\n\t                //tickerHover:true,\n\t                adaptiveHeight:true,\n\t                adaptiveHeightSpeed:500,\n\t                //video:false,\n\t                responsive:true,\n\t                useCSS:true,\n\t                preloadImages:true,\n\t                touchEnabled:true,\n\t                oneToOneTouch:true,\n\t                preventDefaultSwipeY:true,\n\t                auto:true\n\t\n\t            });\n\t        });\n\t        </script>\n        ";
    return $return;
}
function be_display_posts_shortcode($atts)
{
    // Original Attributes, for filters
    $original_atts = $atts;
    // Pull in shortcode attributes and set defaults
    $atts = shortcode_atts(array('title' => '', 'author' => '', 'category' => '', 'date_format' => '(n/j/Y)', 'display_posts_off' => false, 'exclude_current' => false, 'id' => false, 'ignore_sticky_posts' => false, 'image_size' => false, 'include_title' => true, 'include_author' => false, 'include_content' => false, 'include_date' => false, 'include_excerpt' => false, 'meta_key' => '', 'meta_value' => '', 'no_posts_message' => '', 'offset' => 0, 'order' => 'DESC', 'orderby' => 'date', 'post_parent' => false, 'post_status' => 'publish', 'post_type' => 'post', 'posts_per_page' => '10', 'tag' => '', 'tax_operator' => 'IN', 'tax_term' => false, 'taxonomy' => false, 'wrapper' => 'ul', 'wrapper_class' => 'display-posts-listing', 'wrapper_id' => false), $atts, 'display-posts');
    // End early if shortcode should be turned off
    if ($atts['display_posts_off']) {
        return;
    }
    $shortcode_title = sanitize_text_field($atts['title']);
    $author = sanitize_text_field($atts['author']);
    $category = sanitize_text_field($atts['category']);
    $date_format = sanitize_text_field($atts['date_format']);
    $exclude_current = be_display_posts_bool($atts['exclude_current']);
    $id = $atts['id'];
    // Sanitized later as an array of integers
    $ignore_sticky_posts = be_display_posts_bool($atts['ignore_sticky_posts']);
    $image_size = sanitize_key($atts['image_size']);
    $include_title = be_display_posts_bool($atts['include_title']);
    $include_author = be_display_posts_bool($atts['include_author']);
    $include_content = be_display_posts_bool($atts['include_content']);
    $include_date = be_display_posts_bool($atts['include_date']);
    $include_excerpt = be_display_posts_bool($atts['include_excerpt']);
    $meta_key = sanitize_text_field($atts['meta_key']);
    $meta_value = sanitize_text_field($atts['meta_value']);
    $no_posts_message = sanitize_text_field($atts['no_posts_message']);
    $offset = intval($atts['offset']);
    $order = sanitize_key($atts['order']);
    $orderby = sanitize_key($atts['orderby']);
    $post_parent = $atts['post_parent'];
    // Validated later, after check for 'current'
    $post_status = $atts['post_status'];
    // Validated later as one of a few values
    $post_type = sanitize_text_field($atts['post_type']);
    $posts_per_page = intval($atts['posts_per_page']);
    $tag = sanitize_text_field($atts['tag']);
    $tax_operator = $atts['tax_operator'];
    // Validated later as one of a few values
    $tax_term = sanitize_text_field($atts['tax_term']);
    $taxonomy = sanitize_key($atts['taxonomy']);
    $wrapper = sanitize_text_field($atts['wrapper']);
    $wrapper_class = sanitize_html_class($atts['wrapper_class']);
    if (!empty($wrapper_class)) {
        $wrapper_class = ' class="' . $wrapper_class . '"';
    }
    $wrapper_id = sanitize_html_class($atts['wrapper_id']);
    if (!empty($wrapper_id)) {
        $wrapper_id = ' id="' . $wrapper_id . '"';
    }
    // Set up initial query for post
    $args = array('category_name' => $category, 'order' => $order, 'orderby' => $orderby, 'post_type' => explode(',', $post_type), 'posts_per_page' => $posts_per_page, 'tag' => $tag);
    // Ignore Sticky Posts
    if ($ignore_sticky_posts) {
        $args['ignore_sticky_posts'] = true;
    }
    // Meta key (for ordering)
    if (!empty($meta_key)) {
        $args['meta_key'] = $meta_key;
    }
    // Meta value (for simple meta queries)
    if (!empty($meta_value)) {
        $args['meta_value'] = $meta_value;
    }
    // If Post IDs
    if ($id) {
        $posts_in = array_map('intval', explode(',', $id));
        $args['post__in'] = $posts_in;
    }
    // If Exclude Current
    if ($exclude_current) {
        $args['post__not_in'] = array(get_the_ID());
    }
    // Post Author
    if (!empty($author)) {
        $args['author_name'] = $author;
    }
    // Offset
    if (!empty($offset)) {
        $args['offset'] = $offset;
    }
    // Post Status
    $post_status = explode(', ', $post_status);
    $validated = array();
    $available = array('publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash', 'any');
    foreach ($post_status as $unvalidated) {
        if (in_array($unvalidated, $available)) {
            $validated[] = $unvalidated;
        }
    }
    if (!empty($validated)) {
        $args['post_status'] = $validated;
    }
    // If taxonomy attributes, create a taxonomy query
    if (!empty($taxonomy) && !empty($tax_term)) {
        // Term string to array
        $tax_term = explode(', ', $tax_term);
        // Validate operator
        if (!in_array($tax_operator, array('IN', 'NOT IN', 'AND'))) {
            $tax_operator = 'IN';
        }
        $tax_args = array('tax_query' => array(array('taxonomy' => $taxonomy, 'field' => 'slug', 'terms' => $tax_term, 'operator' => $tax_operator)));
        // Check for multiple taxonomy queries
        $count = 2;
        $more_tax_queries = false;
        while (isset($original_atts['taxonomy_' . $count]) && !empty($original_atts['taxonomy_' . $count]) && isset($original_atts['tax_' . $count . '_term']) && !empty($original_atts['tax_' . $count . '_term'])) {
            // Sanitize values
            $more_tax_queries = true;
            $taxonomy = sanitize_key($original_atts['taxonomy_' . $count]);
            $terms = explode(', ', sanitize_text_field($original_atts['tax_' . $count . '_term']));
            $tax_operator = isset($original_atts['tax_' . $count . '_operator']) ? $original_atts['tax_' . $count . '_operator'] : 'IN';
            $tax_operator = in_array($tax_operator, array('IN', 'NOT IN', 'AND')) ? $tax_operator : 'IN';
            $tax_args['tax_query'][] = array('taxonomy' => $taxonomy, 'field' => 'slug', 'terms' => $terms, 'operator' => $tax_operator);
            $count++;
        }
        if ($more_tax_queries) {
            $tax_relation = 'AND';
            if (isset($original_atts['tax_relation']) && in_array($original_atts['tax_relation'], array('AND', 'OR'))) {
                $tax_relation = $original_atts['tax_relation'];
            }
            $args['tax_query']['relation'] = $tax_relation;
        }
        $args = array_merge($args, $tax_args);
    }
    // If post parent attribute, set up parent
    if ($post_parent) {
        if ('current' == $post_parent) {
            global $post;
            $post_parent = get_the_ID();
        }
        $args['post_parent'] = intval($post_parent);
    }
    // Set up html elements used to wrap the posts.
    // Default is ul/li, but can also be ol/li and div/div
    $wrapper_options = array('ul', 'ol', 'div');
    if (!in_array($wrapper, $wrapper_options)) {
        $wrapper = 'ul';
    }
    $inner_wrapper = 'div' == $wrapper ? 'div' : 'li';
    $listing = new WP_Query(apply_filters('display_posts_shortcode_args', $args, $original_atts));
    if (!$listing->have_posts()) {
        return apply_filters('display_posts_shortcode_no_results', wpautop($no_posts_message));
    }
    $inner = '';
    while ($listing->have_posts()) {
        $listing->the_post();
        global $post;
        $image = $date = $author = $excerpt = $content = '';
        if ($include_title) {
            $title = '<a class="title" href="' . apply_filters('the_permalink', get_permalink()) . '">' . get_the_title() . '</a>';
        }
        if ($image_size && has_post_thumbnail()) {
            $image = '<a class="image" href="' . get_permalink() . '">' . get_the_post_thumbnail(get_the_ID(), $image_size) . '</a> ';
        }
        if ($include_date) {
            $date = ' <span class="date">' . get_the_date($date_format) . '</span>';
        }
        if ($include_author) {
            $author = apply_filters('display_posts_shortcode_author', ' <span class="author">by ' . get_the_author() . '</span>');
        }
        if ($include_excerpt) {
            $excerpt = ' <span class="excerpt-dash">-</span> <span class="excerpt">' . get_the_excerpt() . '</span>';
        }
        if ($include_content) {
            add_filter('shortcode_atts_display-posts', 'be_display_posts_off', 10, 3);
            $content = '<div class="content">' . apply_filters('the_content', get_the_content()) . '</div>';
            remove_filter('shortcode_atts_display-posts', 'be_display_posts_off', 10, 3);
        }
        $class = array('listing-item');
        $class = sanitize_html_class(apply_filters('display_posts_shortcode_post_class', $class, $post, $listing, $original_atts));
        $output = '<' . $inner_wrapper . ' class="' . implode(' ', $class) . '">' . $image . $title . $date . $author . $excerpt . $content . '</' . $inner_wrapper . '>';
        // If post is set to private, only show to logged in users
        if ('private' == get_post_status(get_the_ID()) && !current_user_can('read_private_posts')) {
            $output = '';
        }
        $inner .= apply_filters('display_posts_shortcode_output', $output, $original_atts, $image, $title, $date, $excerpt, $inner_wrapper, $content, $class);
    }
    wp_reset_postdata();
    $open = apply_filters('display_posts_shortcode_wrapper_open', '<' . $wrapper . $wrapper_class . $wrapper_id . '>', $original_atts);
    $close = apply_filters('display_posts_shortcode_wrapper_close', '</' . $wrapper . '>', $original_atts);
    $return = $open;
    if ($shortcode_title) {
        $title_tag = apply_filters('display_posts_shortcode_title_tag', 'h2', $original_atts);
        $return .= '<' . $title_tag . ' class="display-posts-title">' . $shortcode_title . '</' . $title_tag . '>' . "\n";
    }
    $return .= $inner . $close;
    return $return;
}