function st_list_tour_related($attr, $content = false) { $data_vc = STTour::get_taxonomy_and_id_term_tour(); $param = array('title' => '', 'sort_taxonomy' => '', 'posts_per_page' => 3, 'orderby' => 'ID', 'order' => 'DESC', 'st_style' => 'style_4', 'font_size' => '3'); $param = array_merge($param, $data_vc['list_id_vc']); $data = shortcode_atts($param, $attr, 'st_list_tour_related'); extract($data); $page = STInput::request('paged'); if (!$page) { $page = get_query_var('paged'); } $query = array('post_type' => 'st_tours', 'posts_per_page' => $posts_per_page, 'post_status' => 'publish', 'paged' => $page, 'order' => $order, 'orderby' => $orderby, 'post__not_in' => array(get_the_ID())); if (!empty($sort_taxonomy)) { if (isset($attr["id_term_" . $sort_taxonomy])) { $terms_post = wp_get_post_terms(get_the_ID(), $sort_taxonomy, array('fields' => 'ids')); $id_term = $attr["id_term_" . $sort_taxonomy]; $id_term = explode(',', $id_term); $terms = array(); foreach ($id_term as $key => $value) { if (in_array($value, $terms_post)) { $terms[] = $value; } } if ($terms) { $query['tax_query'] = array(array('taxonomy' => $sort_taxonomy, 'field' => 'id', 'terms' => $terms)); } } } 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>"; } wp_reset_query(); if (!empty($title) and !empty($r)) { $r = '<h' . $font_size . '>' . $title . '</h' . $font_size . '>' . $r; } return $r; }
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; }
function st_vc_list_tour($attr, $content = false) { $data_vc = STTour::get_taxonomy_and_id_term_tour(); $param = array('st_ids' => '', 'st_number_tour' => 4, 'st_order' => '', 'st_orderby' => '', 'st_tour_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_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); $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_tour = new st_list_tour(); if ($only_featured_location == 'yes' || !empty($st_location)) { add_filter('posts_where', array($st_list_tour, '_get_query_where')); add_filter('posts_join', array($st_list_tour, '_get_query_join')); } query_posts($query); remove_filter('posts_where', array($st_list_tour, '_get_query_where')); remove_filter('posts_join', array($st_list_tour, '_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_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>"; } wp_reset_query(); if (!empty($title) and !empty($r)) { $r = '<h' . $font_size . '>' . $title . '</h' . $font_size . '>' . $r; } return $r; }