'Deals of the month', 'template' => 'hotel_deals_api', 'no_of_items' => '12', 'widget_flag' => 1, 'search_string' => '' ), $atts ) ); $title = apply_filters( 'widget_title', $atts['title'] ); $no_of_items = apply_filters('no_of_items', $atts['no_of_items']); $start_date = apply_filters('start_date', $atts['start_date']); $end_date = apply_filters('end_date', $atts['end_date']); $search_string = apply_filters('search_string', $atts['search_string']); $min_price = apply_filters('min_price', $atts['min_price']); $max_price = apply_filters('max_price', $atts['max_price']); $min_star = apply_filters('min_star', $atts['min_star']); $max_star = apply_filters('max_star', $atts['max_star']); $template = apply_filters('widget_template', $atts['template']); $amenities = apply_filters( 'amenities', $atts['amenities'] ); $description = apply_filters( 'description', $atts['description'] ); if(get_query_var('RegionNameLong') != '') { $search_string = ''; $regionNameLong = get_query_var('RegionNameLong'); $regionNameArr = explode(', ', $regionNameLong); $displayCityName = get_query_var('display_city_name'); $region = $regionNameArr[0]; $parent_region = $regionNameArr[1]; if($displayCityName != "" || $displayCityName != NULL) { $region = $displayCityName; $parent_region =""; } $title = str_replace('{%region%}', region_clean($region), $title); if($parent_region=='') $title = str_replace(', {%parent_region%}', '', $title); $title = str_replace('{%parent_region%}', $parent_region, $title); } else if(get_query_var('holiday_type_id') != ''){ global $wpdb; $table_holiday_desc = $wpdb->prefix.'holiday_description'; $holiday_type_id = get_query_var('holiday_type_id'); $holiday_type_res = $wpdb->get_row("SELECT holiday_type_name FROM $table_holiday_desc WHERE id = " . $holiday_type_id . " AND status = 1"); $holiday_type = ucwords($holiday_type_res->holiday_type_name); $title = str_replace('{%holiday_type%}', $holiday_type, $title); } else { $title = ucwords($title); } $loading_title = 'Loading ' . $title . '…'; $out['ajax_call_to'] = 'hotel_deals_api.php'; $out['plugin_dir_path'] = plugin_dir_url(__FILE__); $out['RegionID'] = get_query_var('RegionID'); $out['RegionNameLong'] = $regionNameLong; $out['search_string'] = $search_string; $out['holiday_type'] = $holiday_type; $out['no_of_items'] = $no_of_items; $out['start_date'] = $start_date; $out['end_date'] = $end_date; $out['widget_title'] = $title; $out['loading_title'] = $loading_title; $out['min_price'] = $min_price; $out['max_price'] = $max_price; $out['min_star'] = $min_star; $out['max_star'] = $max_star; $out['template'] = $template; $out['description'] = $description; if(count($amenities) == 0){ $out['amenities'] = 0; } else{ $out['amenities'] = $amenities; } return $out; } // Register and load the widget function Deals_of_Month_Widget() { register_widget( 'Deals_of_Month_Widget' ); } add_action( 'widgets_init', 'Deals_of_Month_Widget' ); add_shortcode('dealsOfMonth', 'deals_of_month_display'); Class Deals_of_Month_Widget extends WP_Widget{ function __construct() { parent::__construct('Deals_of_Month_Widget', __('Deals Of The Month', 'qc_hotel_booking'), array( 'description' => __( 'Display deals of cities those promoted on home page.', 'qc_hotel_booking' ))); } public function widget( $args, $instance ) { extract($args, EXTR_SKIP); $atts = array_merge($args, $instance, array('widget_flag' => 1)); $deals_detail = deals_of_month_display($atts); if($deals_detail) { echo $before_widget; echo $deals_detail; echo $after_widget; } } public function form($instance) { $title = __( 'Enter title', 'qc_hotel_booking' ); $no_of_items = __('12', 'qc_hotel_booking'); $amenities = $instance['amenities']; if ( isset( $instance[ 'title' ])) $title = $instance[ 'title' ]; if( isset($instance['no_of_items'])) $no_of_items = $instance[ 'no_of_items' ]; if( isset($instance['start_date'])) $start_date = $instance[ 'start_date' ]; if( isset($instance['end_date'])) $end_date = $instance['end_date']; if( isset($instance['min_price'])) $min_price = $instance['min_price']; if( isset($instance['max_price'])) $max_price = $instance['max_price']; if( isset($instance['min_star'])) $min_star = $instance['min_star']; if( isset($instance['max_star'])) $max_star = $instance['max_star']; if( isset($instance['description'])) $description = $instance['description']; if (isset($instance['template'])) { $template = $instance['template']; } else { $template = __('Template Name', 'qc_hotel_booking'); } // Widget admin form ?>