示例#1
0
 function st_vc_list_activity($attr, $content = false)
 {
     $data_vc = STActivity::get_taxonomy_and_id_term_activity();
     $param = array('st_ids' => "", 'st_number' => 4, 'st_order' => '', 'st_orderby' => '', 'st_of_row' => 4, 'only_featured_location' => 'no', 'st_location' => '', 'sort_taxonomy' => '');
     $param = array_merge($param, $data_vc['list_id_vc']);
     $data = shortcode_atts($param, $attr, 'st_list_activity');
     extract($data);
     $page = STInput::request('paged');
     if (!$page) {
         $page = get_query_var('paged');
     }
     $query = array('post_type' => 'st_activity', 'posts_per_page' => $st_number, 'paged' => $page, 'order' => $st_order, 'orderby' => $st_orderby);
     if (!empty($st_ids)) {
         $query['post__in'] = explode(',', $st_ids);
         $query['orderby'] = 'post__in';
     }
     if ($st_orderby == 'sale') {
         $query['meta_key'] = 'price';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'rate') {
         $query['meta_key'] = 'rate_review';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'discount') {
         $query['meta_key'] = 'discount';
         $query['orderby'] = 'meta_value';
     }
     $_SESSION['el_only_featured_location'] = $only_featured_location;
     $_SESSION['el_st_location'] = $st_location;
     $_SESSION['el_featured'] = array();
     if ($only_featured_location == 'yes') {
         $STLocation = new STLocation();
         $featured = $STLocation->get_featured_ids();
         $_SESSION['featured'] = $featured;
     }
     $st_list_activity = new st_list_activity();
     if ($only_featured_location == 'yes' || !empty($st_location)) {
         add_filter('posts_where', array($st_list_activity, '_get_query_where'));
         add_filter('posts_join', array($st_list_activity, '_get_query_join'));
     }
     if (!empty($sort_taxonomy)) {
         if (isset($attr["id_term_" . $sort_taxonomy])) {
             $id_term = $attr["id_term_" . $sort_taxonomy];
             $query['tax_query'] = array(array('taxonomy' => $sort_taxonomy, 'field' => 'id', 'terms' => explode(',', $id_term)));
         }
     }
     query_posts($query);
     remove_filter('posts_where', array($st_list_activity, '_get_query_where'));
     remove_filter('posts_join', array($st_list_activity, '_get_query_join'));
     unset($_SESSION['el_only_featured_location']);
     unset($_SESSION['el_st_location']);
     unset($_SESSION['el_featured']);
     $r = "<div class='list_tours'>" . st()->load_template('vc-elements/st-list-activity/loop', '', $data) . "</div>";
     wp_reset_query();
     return $r;
 }
示例#2
0
 function st_vc_list_tour($attr, $content = false)
 {
     $data_vc = STTour::get_taxonomy_and_id_term_tour();
     $param = array('st_ids' => '', 'st_number_tour' => 0, 'st_order' => '', 'st_orderby' => '', 'st_tour_of_row' => '', 'st_style' => '', 'only_featured_location' => '', 'st_location' => '', 'sort_taxonomy' => '');
     $param = array_merge($param, $data_vc['list_id_vc']);
     $data = shortcode_atts($param, $attr, 'st_list_tour');
     extract($data);
     $page = STInput::request('paged');
     if (!$page) {
         $page = get_query_var('paged');
     }
     $query = array('post_type' => 'st_tours', 'posts_per_page' => $st_number_tour, 'paged' => $page, 'order' => $st_order, 'orderby' => $st_orderby);
     if (!empty($st_ids)) {
         $query['post__in'] = explode(',', $st_ids);
     }
     if ($st_orderby == 'sale') {
         $query['meta_key'] = 'price';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'rate') {
         $query['meta_key'] = 'rate_review';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'discount') {
         $query['meta_key'] = 'discount';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'last_minute_deal') {
         /*$query['meta_key']='discount';
           $query['orderby']='meta_value';
           $query['order']='DESC';*/
         $query['meta_query'][] = array('key' => 'is_sale_schedule', 'value' => 'on', 'compare' => "=");
     }
     if (!empty($sort_taxonomy)) {
         if (isset($attr["id_term_" . $sort_taxonomy])) {
             $id_term = $attr["id_term_" . $sort_taxonomy];
             $query['tax_query'] = array(array('taxonomy' => $sort_taxonomy, 'field' => 'id', 'terms' => explode(',', $id_term)));
         }
     }
     if ($only_featured_location == 'yes') {
         $STLocation = new STLocation();
         $featured = $STLocation->get_featured_ids();
         $query['meta_query'][] = array('key' => 'id_location', 'value' => $featured, 'compare' => "IN");
     }
     if (!empty($st_location)) {
         $query['meta_query'][] = array('key' => 'id_location', 'value' => $st_location, 'compare' => "IN");
     }
     query_posts($query);
     if ($st_style == 'style_1') {
         $r = "<div class='list_tours'>" . st()->load_template('vc-elements/st-list-tour/loop', '', $data) . "</div>";
     }
     if ($st_style == 'style_2') {
         $r = "<div class='list_tours'>" . st()->load_template('vc-elements/st-list-tour/loop2', '', $data) . "</div>";
     }
     if ($st_style == 'style_3') {
         $r = "<div class='list_tours'>" . st()->load_template('vc-elements/st-list-tour/loop3', '', $data) . "</div>";
     }
     if ($st_style == 'style_4') {
         $r = "<div class='list_tours'>" . st()->load_template('vc-elements/st-list-tour/loop4', '', $data) . "</div>";
     }
     /*TravelHelper::paging();*/
     wp_reset_query();
     return $r;
 }
示例#3
0
 function st_vc_list_holiday($attr, $content = false)
 {
     $data_vc = STHoliday::get_taxonomy_and_id_term_holiday();
     $param = array('st_ids' => '', 'st_number_holiday' => 4, 'st_order' => '', 'st_orderby' => '', 'st_holiday_of_row' => '', 'st_style' => 'style_1', 'only_featured_location' => 'no', 'st_location' => '', 'sort_taxonomy' => '', 'title' => '', 'font_size' => '3');
     $param = array_merge($param, $data_vc['list_id_vc']);
     $data = shortcode_atts($param, $attr, 'st_list_holiday');
     extract($data);
     $page = STInput::request('paged');
     if (!$page) {
         $page = get_query_var('paged');
     }
     $query = array('post_type' => 'st_holidays', 'posts_per_page' => $st_number_holiday, 'paged' => $page, 'order' => $st_order, 'orderby' => $st_orderby);
     if (!empty($st_ids)) {
         $query['post__in'] = explode(',', $st_ids);
         $query['orderby'] = 'post__in';
     }
     if ($st_orderby == 'sale') {
         $query['meta_key'] = 'price';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'rate') {
         $query['meta_key'] = 'rate_review';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'discount') {
         $query['meta_key'] = 'discount';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'last_minute_deal') {
         $query['order'] = 'DESC';
         $query['orderby'] = 'meta_value';
         $query['meta_key'] = 'sale_price_from';
         $query['meta_query'][] = array('key' => 'is_sale_schedule', 'value' => 'on', 'compare' => "=");
     }
     if (!empty($sort_taxonomy)) {
         if (isset($attr["id_term_" . $sort_taxonomy])) {
             $id_term = $attr["id_term_" . $sort_taxonomy];
             $query['tax_query'] = array(array('taxonomy' => $sort_taxonomy, 'field' => 'id', 'terms' => explode(',', $id_term)));
         }
     }
     $_SESSION['el_only_featured_location'] = $only_featured_location;
     $_SESSION['el_st_location'] = $st_location;
     $_SESSION['el_featured'] = array();
     if ($only_featured_location == 'yes') {
         $STLocation = new STLocation();
         $featured = $STLocation->get_featured_ids();
         $_SESSION['el_featured'] = $featured;
     }
     $st_list_holiday = new st_list_holiday();
     if ($only_featured_location == 'yes' || !empty($st_location)) {
         add_filter('posts_where', array($st_list_holiday, '_get_query_where'));
         add_filter('posts_join', array($st_list_holiday, '_get_query_join'));
     }
     query_posts($query);
     remove_filter('posts_where', array($st_list_holiday, '_get_query_where'));
     remove_filter('posts_join', array($st_list_holiday, '_get_query_join'));
     unset($_SESSION['el_only_featured_location']);
     unset($_SESSION['el_st_location']);
     unset($_SESSION['el_featured']);
     if ($st_style == 'style_1') {
         $r = "<div class='list_holidays'>" . st()->load_template('vc-elements/st-list-holiday/loop', '', $data) . "</div>";
     }
     if ($st_style == 'style_2') {
         $r = "<div class='list_holidays'>" . st()->load_template('vc-elements/st-list-holiday/loop2', '', $data) . "</div>";
     }
     if ($st_style == 'style_3') {
         $r = "<div class='list_holidays'>" . st()->load_template('vc-elements/st-list-holiday/loop3', '', $data) . "</div>";
     }
     if ($st_style == 'style_4') {
         $r = "<div class='list_holidays'>" . st()->load_template('vc-elements/st-list-holiday/loop4', '', $data) . "</div>";
     }
     wp_reset_query();
     if (!empty($title) and !empty($r)) {
         $r = '<h' . $font_size . '>' . $title . '</h' . $font_size . '>' . $r;
     }
     return $r;
 }
 function st_vc_list_hotel($attr, $content = false)
 {
     $data = shortcode_atts(array('st_ids' => "", 'st_number_ht' => 0, 'st_order' => '', 'st_orderby' => '', 'st_ht_of_row' => '', 'st_style_ht' => '', 'only_featured_location' => 'no', 'st_location' => ''), $attr, 'st_list_hotel');
     extract($data);
     $query = array('post_type' => 'st_hotel', 'posts_per_page' => $st_number_ht, 'order' => $st_order, 'orderby' => $st_orderby);
     if (!empty($st_ids)) {
         $query['post__in'] = explode(',', $st_ids);
     }
     if ($st_style_ht == 'bg_last_minute_deal') {
         $query = array('post_type' => 'hotel_room', 'posts_per_page' => 1, 'meta_key' => 'sale_price_from', 'order' => 'desc', 'orderby' => 'meta_value', 'meta_query' => array('key' => 'is_sale_schedule', 'value' => 'on', 'compare' => "="));
         $post = query_posts($query);
         $data['info_room'] = $post;
         wp_reset_query();
         if (!empty($post)) {
             $id_hotel = get_post_meta($post[0]->ID, "room_parent", true);
             $query = array('post_type' => 'st_hotel', 'posts_per_page' => 1, 'post__in' => array($id_hotel));
         } else {
             /*$query=array(
                   'post_type' => 'hotel_room',
                   'posts_per_page'=>1,
                   'meta_key'=>'discount_rate',
                   'order'=>'ASC',
                   'orderby'=>'meta_value',
               );
               $post = query_posts($query);
               $data['info_room'] = $post;
               wp_reset_query();
               if(!empty($post)) {
                   $id_hotel = get_post_meta($post[0]->ID, "room_parent", true);
                   $query = array(
                       'post_type' => 'st_hotel',
                       'posts_per_page' => 1,
                       'post__in' => array($id_hotel),
                   );
               }*/
         }
     }
     if ($st_orderby == 'sale') {
         $query['meta_key'] = 'total_sale_number';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'rate') {
         $query['meta_key'] = 'rate_review';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'discount') {
         $query['meta_key'] = 'discount_rate';
         $query['orderby'] = 'meta_value';
     }
     if ($only_featured_location == 'yes') {
         $STLocation = new STLocation();
         $featured = $STLocation->get_featured_ids();
         $query['meta_query'][] = array('key' => 'id_location', 'value' => $featured, 'compare' => "IN");
     }
     if (!empty($st_location)) {
         $query['meta_query'][] = array('key' => 'id_location', 'value' => $st_location, 'compare' => "IN");
     }
     $query = new WP_Query($query);
     $data['query'] = $query;
     $r = st()->load_template('vc-elements/st-list-hotel/loop', $st_style_ht, $data);
     wp_reset_query();
     return $r;
 }
示例#5
0
 function st_vc_list_hotel($attr, $content = false)
 {
     global $wp_query;
     $data = shortcode_atts(array('st_ids' => "", 'st_number_ht' => 4, 'st_order' => '', 'st_orderby' => '', 'st_ht_of_row' => 4, 'st_style_ht' => 'bg_last_minute_deal', 'only_featured_location' => 'no', 'st_location' => ''), $attr, 'st_list_hotel');
     extract($data);
     $query = array('post_type' => 'st_hotel', 'posts_per_page' => $st_number_ht, 'order' => $st_order, 'orderby' => $st_orderby);
     if (!empty($st_ids)) {
         $query['post__in'] = explode(',', $st_ids);
         $query['orderby'] = 'post__in';
     }
     if ($st_style_ht == 'bg_last_minute_deal') {
         $query = array('post_type' => 'hotel_room', 'posts_per_page' => 1, 'meta_key' => 'sale_price_from', 'order' => 'desc', 'orderby' => 'meta_value');
         add_filter('posts_where', 'st_hotel_last_minute_deal_filter');
         add_filter('posts_join', 'st_hotel_last_minute_deal_join');
         $post = query_posts($query);
         remove_filter('posts_where', 'st_hotel_last_minute_deal_filter');
         remove_filter('posts_join', 'st_hotel_last_minute_deal_join');
         $data['info_room'] = $post;
         wp_reset_query();
         if (!empty($post)) {
             $id_hotel = get_post_meta($post[0]->ID, "room_parent", true);
             $query = array('post_type' => 'st_hotel', 'posts_per_page' => 1, 'post__in' => array($id_hotel));
         } else {
             $query = array('post_type' => 'hotel_room', 'posts_per_page' => 1, 'meta_key' => 'discount_rate', 'order' => 'ASC', 'orderby' => 'meta_value');
             add_filter('posts_where', 'st_hotel_last_minute_deal_filter');
             add_filter('posts_join', 'st_hotel_last_minute_deal_join');
             $post = query_posts($query);
             remove_filter('posts_where', 'st_hotel_last_minute_deal_filter');
             remove_filter('posts_join', 'st_hotel_last_minute_deal_join');
             $data['info_room'] = $post;
             wp_reset_query();
             if (!empty($post)) {
                 $id_hotel = get_post_meta($post[0]->ID, "room_parent", true);
                 $query = array('post_type' => 'st_hotel', 'posts_per_page' => 1, 'post__in' => array($id_hotel));
             }
         }
     }
     if ($st_orderby == 'sale') {
         $query['meta_key'] = 'total_sale_number';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'rate') {
         $query['meta_key'] = 'rate_review';
         $query['orderby'] = 'meta_value';
     }
     if ($st_orderby == 'discount') {
         $query['meta_key'] = 'discount_rate';
         $query['orderby'] = 'meta_value';
     }
     $_SESSION['el_only_featured_location'] = $only_featured_location;
     $_SESSION['st_st_location'] = $st_location;
     $_SESSION['el_featured'] = array();
     if ($only_featured_location == 'yes') {
         $STLocation = new STLocation();
         $featured = $STLocation->get_featured_ids();
         $_SESSION['el_featured'] = $featured;
     }
     $st_list_hotel = new st_list_hotel();
     if ($only_featured_location == 'yes' || !empty($st_location)) {
         add_filter('posts_where', array($st_list_hotel, '_get_query_where'));
         add_filter('posts_join', array($st_list_hotel, '_get_query_join'));
     }
     $query = new WP_Query($query);
     remove_filter('posts_where', array($st_list_hotel, '_get_query_where'));
     remove_filter('posts_join', array($st_list_hotel, '_get_query_join'));
     unset($_SESSION['el_only_featured_location']);
     unset($_SESSION['st_st_location']);
     unset($_SESSION['el_featured']);
     $data['query'] = $query;
     $r = st()->load_template('vc-elements/st-list-hotel/loop', $st_style_ht, $data);
     wp_reset_query();
     return $r;
 }