MOON
Server: Apache
System: Linux server.netcommlabs.in 3.10.0-1160.83.1.el7.x86_64 #1 SMP Wed Jan 25 16:41:43 UTC 2023 x86_64
User: dermova (1051)
PHP: 5.4.45
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/dermova/www/india/wp-content/plugins/rit-core/inc/shortcode/rit_banner_slider.php
<?php

function rit_shortcode_banner($atts)
{

    $atts = shortcode_atts(
        array(
            'title'             =>'',
            'posts_per_page'    => '',
            'number'            => 5,
            'target'            => '_blank',
            'auto'              => 'true',
            'el_class'          => '',

        ), $atts);

    $args = array(
        'posts_per_page' => $atts['posts_per_page'],
        'post_type' => 'banner'
    );

    $the_query = new WP_Query($args);

    ob_start(); ?>

    <div class="widget widget-banner-slider">

        <div class=" rit-banner-slider  <?php echo  $atts['el_class'];?>" data-number="<?php echo $atts['number'];?>" data-auto="<?php echo $atts['auto'];?>">
            <?php
                if ($the_query->have_posts()) :
                    while ($the_query->have_posts()) : $the_query->the_post();

                        $banner_id = get_post_thumbnail_id();
                        $banner = wp_get_attachment_image_src($banner_id, true);
                        $banner_alt = get_post_meta($banner_id, '_wp_attachment_image_alt', true);
                        $banner_url = get_post_meta(get_the_ID(), 'rit_banner_url', true);
                        $banner_class = get_post_meta(get_the_ID(), 'rit_banner_class', true);
                        ?>
                        <div class="banner_item <?php echo $banner_class; ?>" id="banner_item_<?php echo $banner_id; ?>">
                            <a href="<?php echo $banner_url; ?>" target="<?php echo $atts['target']; ?>">
                                <img src="<?php echo $banner[0]; ?>" alt="<?php echo $banner_url; ?>"/>
                            </a>
                        </div>
                    <?php
                    endwhile;
                endif;

                wp_reset_postdata();
            ?>
        </div>
    </div>
    <!-- /.services -->

    <?php
    $output = ob_get_contents();
    ob_end_clean();

    return $output;
}

add_shortcode('rit_banner_slider', 'rit_shortcode_banner');

add_action('vc_before_init', 'rit_banner_slider_integrate_vc');

if (!function_exists('rit_banner_slider_integrate_vc')) {
    function rit_banner_slider_integrate_vc()
    {
        vc_map(
            array(
                'name' => __('RIT Banner Slider', RIT_TEXT_DOMAIN),
                'base' => 'rit_banner_slider',
                'icon' => 'icon-rit',
                'category' => __('RIT', RIT_TEXT_DOMAIN),
                'description' => __('Show banner carousel', RIT_TEXT_DOMAIN),
                'params' => array(
                    array(
                        'type' => 'textfield',
                        'heading' => __('Title Widget', RIT_TEXT_DOMAIN),
                        'value' => '',
                        'param_name' => 'title',
                    ),
                    array(
                        'type' => 'textfield',
                        'heading' => __('Number item show', RIT_TEXT_DOMAIN),
                        'value' => '',
                        'param_name' => 'number',
                    ),

                    array(
                        'type' => 'textfield',
                        'heading' => __('Number of banner', RIT_TEXT_DOMAIN),
                        'value' => '',
                        'param_name' => 'posts_per_page',
                    ),
                    array(
                        'type' => 'dropdown',
                        'heading' => __( 'Link Target', RIT_TEXT_DOMAIN ),
                        'param_name' => 'target',
                        'value' => array(
                            __( 'Same window', RIT_TEXT_DOMAIN ) => '_self',
                            __( 'New window', RIT_TEXT_DOMAIN ) => "_blank"
                        ),
                        'dependency' => array(
                            'element' => 'img_link',
                            'not_empty' => true
                        )
                    ),
                    array(
                        'type' => 'checkbox',
                        'heading' => __( 'Auto slide', RIT_TEXT_DOMAIN ),
                        'param_name' => 'auto',
                        'description' => __( 'If checked, image will auto run carousel.', RIT_TEXT_DOMAIN ),
                        'value' => array( __( 'Yes', RIT_TEXT_DOMAIN ) => 'true' )
                    ),

                    array(
                        'type' => 'textfield',
                        'heading' => __( 'Extra class name', RIT_TEXT_DOMAIN ),
                        'param_name' => 'el_class',
                        'description' => __( 'Style particular content element differently - add a class name and refer to it in custom CSS.', RIT_TEXT_DOMAIN )
                    )

                )
            )
        );
    }
}