PluginProbe
Ovation Elements / 1.1.6
Ovation Elements v1.1.6
1.2.7 1.2.6 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.2.2 1.2.3 All 27 releases
ovation-elements / includes / slider-shortcode-template7.php

slider-shortcode-template7.php in Ovation Elements 1.1.6, at includes/slider-shortcode-template7.php

418 lines 25.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if (!defined('ABSPATH')) {
3 exit; // Exit if accessed directly.
4 }
5
6 global $ova_elems_template;
7 $ova_elems_template = 'template7';
8
9 // Fetch selected posts
10 $selected_posts = maybe_unserialize(get_post_meta($post_id, '_ova_elems_selected_posts_template4', true));
11 $_ova_elems_static_settings_template4 = get_post_meta($post_id, '_ova_elems_static_settings_template4', true);
12 $_ova_elems_static_settings_template4 = $_ova_elems_static_settings_template4 ? maybe_unserialize($_ova_elems_static_settings_template4) : array();
13 $instagram_url = isset($_ova_elems_static_settings_template4['instagram_url']) ? esc_url($_ova_elems_static_settings_template4['instagram_url']) : '';
14
15 $youtube_url = isset($_ova_elems_static_settings_template4['youtube_url']) ? esc_url($_ova_elems_static_settings_template4['youtube_url']) : '';
16 $basketball_url = isset($_ova_elems_static_settings_template4['basketball_url']) ? esc_url($_ova_elems_static_settings_template4['basketball_url']) : '';
17 $twitter_url = isset($_ova_elems_static_settings_template4['twitter_url']) ? esc_url($_ova_elems_static_settings_template4['twitter_url']) : '';
18 $mini_description = isset($_ova_elems_static_settings_template4['mini_description']) ? esc_html($_ova_elems_static_settings_template4['mini_description']) : '';
19 $corner_posts_count = isset($_ova_elems_static_settings_template4['corner_posts_count']) ? intval($_ova_elems_static_settings_template4['corner_posts_count']) : 1;
20 $corner_posts_category = isset($_ova_elems_static_settings_template4['corner_posts_category']) ? intval($_ova_elems_static_settings_template4['corner_posts_category']) : '';
21 $corner_posts_order = isset($_ova_elems_static_settings_template4['corner_posts_order']) ? sanitize_text_field($_ova_elems_static_settings_template4['corner_posts_order']) : 'asc';
22
23 // Retrieve additional static settings
24 $upload_minheadimage = isset($_ova_elems_static_settings_template4['upload_minheadimage']) ? esc_url($_ova_elems_static_settings_template4['upload_minheadimage']) : '';
25 $ov_travel_head_tag = isset($_ova_elems_static_settings_template4['ov_travel_head_tag']) ? sanitize_text_field($_ova_elems_static_settings_template4['ov_travel_head_tag']) : '';
26 $ov_static_title = isset($_ova_elems_static_settings_template4['ov_static_title']) ? sanitize_text_field($_ova_elems_static_settings_template4['ov_static_title']) : '';
27 $static_description = isset($_ova_elems_static_settings_template4['static_description']) ? sanitize_textarea_field($_ova_elems_static_settings_template4['static_description']) : '';
28 $ov_button_text = isset($_ova_elems_static_settings_template4['ov_button_text']) ? sanitize_text_field($_ova_elems_static_settings_template4['ov_button_text']) : '';
29 $ov_button_url = isset($_ova_elems_static_settings_template4['ov_button_url']) ? esc_url($_ova_elems_static_settings_template4['ov_button_url']) : '#';
30
31 $ov_review_text = isset($_ova_elems_static_settings_template4['ov_review_text']) ? sanitize_text_field($_ova_elems_static_settings_template4['ov_review_text']) : '';
32 $ov_review_no = isset($_ova_elems_static_settings_template4['ov_review_no']) ? sanitize_text_field($_ova_elems_static_settings_template4['ov_review_no']) : '';
33 $ov_client_image = isset($_ova_elems_static_settings_template4['ov_client_image']) ? esc_url($_ova_elems_static_settings_template4['ov_client_image']) : '';
34
35 // // Retrieve button data for each slide
36 $button_data = maybe_unserialize(get_post_meta($post_id, '_ova_elems_button_data_template4', true)) ?: array();
37
38 $tour_info_data = maybe_unserialize(get_post_meta($post_id, '_ova_elems_tour_info_data_template4', true)) ?: array();
39
40 $video_data = maybe_unserialize(get_post_meta($post_id, '_ova_elems_video_data_template4', true)) ?: array();
41
42
43
44
45
46 // Fetch corner posts
47 $corner_posts = new WP_Query(
48 array(
49 'post_type' => 'post',
50 'posts_per_page' => $corner_posts_count,
51 'cat' => $corner_posts_category,
52 'order' => $corner_posts_order,
53 'orderby' => 'date'
54 )
55 );
56 // Start building the output
57
58 // Prepare dynamic settings for the slider
59 $dynamic_settings = [
60 'effect' => $_ova_elems_static_settings_template4['effect'] ?? '',
61 'crossFade' => !empty($_ova_elems_static_settings_template4['fade_crossfade']),
62 'lazyLoad' => !empty($_ova_elems_static_settings_template4['lazy_load']) && $_ova_elems_static_settings_template4['lazy_load'] == '1' ? true : false,
63 'autoplay' => isset($_ova_elems_static_settings_template4['autoplay_setting']) ? $_ova_elems_static_settings_template4['autoplay_setting'] == 1 : false,
64 'autoplay_delay' => isset($_ova_elems_static_settings_template4['autoplay_delay']) ? absint($_ova_elems_static_settings_template4['autoplay_delay']) : 1000,
65 ];
66
67
68 wp_enqueue_style('ova-elems-style7', OVA_ELEMS_URL . 'assets/css/style7.css', array(), OVA_ELEMS_VER);
69 wp_enqueue_script('ova-elems-template-7-frontend-scripts', OVA_ELEMS_URL . 'assets/js/template-7-scripts.js', array('jquery'), OVA_ELEMS_VER, true);
70 // Override the default Font Awesome version for template 4
71 wp_dequeue_style('font-awesome');
72 wp_enqueue_style('ova-elems-font-awesome-template4', OVA_ELEMS_URL . 'assets/css/font.all.min.css', array(), OVA_ELEMS_VER);
73 // Localize the script
74 wp_localize_script('ova-elems-template-7-frontend-scripts', 'template7SliderConfig', $dynamic_settings);
75
76 ?>
77
78 <section id="oe-travel-slider-main-box">
79 <!-- Main Slider Box -->
80 <div class="oe-travel-slider-content-main-box">
81 <!-- Content Row -->
82 <div class="row position-relative">
83
84 <!-- Left Column with Banner and Info -->
85 <div class="col-xl-5 col-lg-6 pe-0">
86
87 <!-- Slider Functionality Starts Here -->
88 <div class="swiper">
89 <!-- Swiper Wrapper -->
90 <div class="swiper-wrapper">
91 <?php
92 // Fetch and display selected posts
93 if (!empty($selected_posts)) {
94 foreach ($selected_posts as $index => $post_id) {
95 $post = get_post($post_id);
96 if ($post) {
97 // $post_title = get_the_title();
98 $post_content = apply_filters('the_content', $post->post_content);
99 $post_author = get_the_author_meta('display_name', get_post_field('post_author', $post_id));
100 $thumbnail = get_the_post_thumbnail_url($post_id, 'thumbnail');
101 $author_id = get_post_field('post_author', get_the_ID());
102 $author_avatar = get_avatar($author_id, 66);
103
104 // Get button data for the current slide
105 $button_text = isset($button_data[$index]['text']) ? esc_html($button_data[$index]['text']) : '';
106 $button_url = isset($button_data[$index]['url']) ? esc_url($button_data[$index]['url']) : '';
107 $button2_text = isset($button_data[$index]['text2']) ? esc_html($button_data[$index]['text2']) : '';
108 $button2_url = isset($button_data[$index]['url2']) ? esc_url($button_data[$index]['url2']) : '';
109
110 $tour_info = isset($tour_info_data[$index]) ? esc_html($tour_info_data[$index]) : '';
111
112 $video_link = isset($video_data[$index]['live_link']) ? esc_url($video_data[$index]['live_link']) : '';
113
114 // Retrieve uploaded video URL
115 $uploaded_video = isset($video_data[$index]['upload_video']) ? esc_url($video_data[$index]['upload_video']) : '';
116
117 ?>
118 <!-- Swiper Slide -->
119 <div class="swiper-slide">
120 <!-- Slide Background Image -->
121 <div class="oe-travel-slider-post-bg-image"
122 style="background-repeat: no-repeat; background-size: 100% auto; background-position: center; background-image: url(<?php echo esc_url($thumbnail ?: 'default-image-url'); ?>);">
123
124 <!-- Author Info Box -->
125 <div
126 class="oe-travel-slider-post-bg-bg-box d-flex justify-content-md-start justify-content-sm-center justify-content-center align-items-center">
127 <span class="oe-travel-slider-post-icon-img me-2 ms-0 position-relative">
128 <div class="oe-travel-slider-post-icon">
129 <?php echo wp_kses_post($author_avatar); ?>
130 <!-- Display avatar -->
131 </div>
132 </span>
133 <span
134 class="oe-travel-slider-post-sub-head"><?php echo esc_html($post_author); ?></span>
135 </div>
136
137 <!-- Banner Content -->
138 <div class="oe-travel-slider-post-banner-outer-box">
139 <div class="oe-travel-slider-post-banner-heading-box">
140 <h1 class="oe-travel-slider-post-banner-main-head slide-tittle">
141
142 <?php
143
144 // echo esc_html($post->post_title);
145
146
147 $title = esc_html($post->post_title);
148 $title = wp_trim_words($title, 10, '...');
149 // echo $title;
150 echo '<a href="' . esc_url(get_permalink($post->ID)) . '" class="post-title-link">' . esc_html($title) . '</a>';?>
151 </h1>
152
153
154
155 </div>
156 <p class="oe-travel-slider-post-banner-sec-para slide-desc">
157 <?php
158 //echo esc_html(wp_strip_all_tags($post_content));
159
160 $content = apply_filters('the_content', $post->post_content);
161 $content = wp_strip_all_tags($content); // Remove HTML tags
162 $content = mb_strimwidth($content, 0, 150, '...'); // Limit to 150 characters with ellipsis
163 echo esc_html($content);
164
165 ?>
166 </p>
167
168 <?php if ($tour_info): ?>
169 <p class="oe-travel-slider-post-banner-schedule-text slide-content">
170 <?php echo esc_html($tour_info); ?></p>
171 <?php endif; ?>
172
173 <!-- Buttons Section -->
174 <div
175 class="d-flex gap-md-4 gap-sm-2 gap-2 align-items-center oe-travel-slider-banner-btn-box pt-3">
176 <?php if ($button_text && $button_url): ?>
177 <a class="oe-travel-slider-explore-btn oe-template7-slide-buttons"
178 href="<?php echo esc_url($button_url); ?>"><?php echo esc_html($button_text); ?></a>
179 <?php endif; ?>
180
181 <!-- new one vedio link href="#myModal1" id="myBtn1"> -->
182
183 <div id="vedio-img-box" class="col-xl-1 col-lg-2 " style="background-image: url();">
184 <div class="">
185 <a class=" myVideoBtns"
186 data-url="<?php echo esc_url($uploaded_video); ?>"
187 href="#">
188 <i class="fa fa-play"></i>
189 </a>
190 </div>
191
192
193 </div>
194
195
196 <!-- ended -->
197
198
199 <?php if ($button2_text && $button2_url): ?>
200 <a class="oe-travel-slider-appointement-btn oe-template7-slide-buttons"
201 href="<?php echo esc_url($button2_url); ?>"><?php echo esc_html($button2_text); ?></a>
202 <?php endif; ?>
203 </div>
204 </div>
205 <!-- Banner Content End -->
206
207 </div>
208 <!-- Slide Background Image End -->
209 </div>
210 <!-- Swiper Slide End -->
211 <?php
212 }
213 }
214 }
215 ?>
216 </div>
217
218
219 </div>
220 <!-- Slider Functionality Ends Here -->
221
222 </div>
223 <!-- Left Column End -->
224
225 <!-- Right Section (Background Image & Description) -->
226 <div class="col-xl-7 col-lg-6" style="background-image: url('');">
227 <div class="oe-travel-slider-banner-custom-box">
228 <div class="oe-travel-slider-banner-content-box">
229 <div class="d-flex flex-column gap-2 oe-travel-slider-banner-content-main">
230
231 <!-- Header with Icon -->
232 <div
233 class="d-flex justify-content-md-start justify-content-sm-center justify-content-center align-items-center">
234 <span class="oe-travel-slider-icon-img me-2 ms-0 position-relative">
235 <div class="oe-travel-slider-icon">
236 <?php echo ' <img src="' . esc_url($upload_minheadimage) . '" alt="Image"> ' ;?>
237 </div>
238 </span>
239 <span
240 class="oe-travel-slider-sub-head oe-stat-head"><?php echo esc_html($ov_travel_head_tag); ?></span>
241 </div>
242
243 <div id="myVideoNewModals" class="modal-new animated fadeInDownBig delay-1000" style="display: none; width : 500px ;">
244 <div class="modal-contents">
245 <button class="close-one">&times;<span class="screen-reader-text"><?php echo esc_html('Close button'); ?></span></button>
246 <iframe id="videoEmbed" width="100%" height="345" frameborder="0" allowfullscreen></iframe>
247 </div>
248 </div>
249
250 <!-- Main Heading and Description -->
251 <div class="oe-travel-slider-banner-heading-box">
252 <h1 class="oe-travel-slider-banner-main-head ov-right-side-tittle">
253 <?php echo esc_html($ov_static_title); ?></h1>
254 </div>
255 <p class="oe-travel-slider-banner-sec-para ov-right-side-desc">
256 <?php echo esc_html($static_description); ?></p>
257
258 <!-- Book Now Button -->
259 <div
260 class="d-flex gap-md-4 gap-sm-2 gap-2 align-items-center oe-travel-slider-banner-btn-box pt-3">
261 <a class="oe-travel-slider-explore-btn oe-template7-buttons"
262 href="<?php echo esc_url($ov_button_url); ?>"><?php echo esc_html($ov_button_text); ?></a>
263 </div>
264 </div>
265 </div>
266 </div>
267 </div> <!-- End Right Section -->
268
269 <!-- Below Slider Content -->
270 <div class="oe-travel-slider-post-content-box">
271 <div class="row oe-travel-slider-post-content-inner-box">
272
273 <!-- Review Section -->
274 <div class="col-xxl-3 col-xl-3 col-lg-4 col-sm-6 col-12 align-self-end mb-sm-0 mb-3">
275 <div class="oe-travel-slider-review-box d-flex">
276 <div class="oe-travel-slider-review-image align-self-center">
277 <?php echo ' <img src="' . esc_url($ov_client_image) . '" alt="Client Image"> ' ;?>
278 </div>
279 <div class="oe-travel-slider-review-text text-sm-start text-center align-self-center">
280 <p class="oe-travel-slider-review-count review-font">
281 <?php echo esc_html($ov_review_no); ?></p>
282 <p class="oe-travel-slider-review-count-text review-text-font">
283 <?php echo esc_html($ov_review_text); ?></p>
284 </div>
285 </div>
286 </div> <!-- End Review Section -->
287
288 <!-- Carousel Section (Tour Posts) -->
289 <div class="col-xxl-8 col-xl-8 col-lg-8 col-sm-12 col-12">
290 <div class="row position-relative">
291 <?php
292 // Loop through selected posts for below slider content
293 if (!empty($selected_posts)) {
294 foreach ($selected_posts as $index => $post_id) {
295 $post = get_post($post_id);
296 if ($post) {
297 $post_title = get_the_title();
298 // $title = wp_trim_words($post_title, 10, '...');
299 $post_content = apply_filters('the_content', $post->post_content);
300 $thumbnail = get_the_post_thumbnail_url($post_id, 'thumbnail');
301 $post_author = get_the_author_meta('display_name', get_post_field('post_author', $post_id));
302 $author_id = get_post_field('post_author', get_the_ID());
303 $author_avatar = get_avatar($author_id, 66);
304 ?>
305 <!-- Remove display: none and ensure posts are always visible -->
306 <div
307 class="col-xxl-3 col-xl-4 col-lg-6 col-md-6 col-sm-12 col-12 oe-travel-slider-carousel-post-boxes post-box-<?php echo esc_attr($index); ?>">
308 <div class="oe-travel-slider-carousel-post-bg-image"
309 style="background-image: url(<?php echo esc_url($thumbnail ?: 'default-image-url'); ?>);">
310 <div class="oe-travel-slider-carousel-post-box">
311 <div class="oe-travel-slider-carousel-post">
312
313 <!-- Icon and Text Box -->
314 <div
315 class="oe-travel-slider-carousel-post-bg-bg-box d-flex justify-content-md-start justify-content-sm-center justify-content-center align-items-center">
316 <span
317 class="oe-travel-slider-carousel-post-icon-img me-2 ms-0 position-relative">
318 <div class="oe-travel-slider-carousel-post-icon">
319 <?php echo wp_kses_post($author_avatar); ?>
320 </div>
321 </span>
322 <span
323 class="oe-travel-slider-carousel-post-sub-head ov-thmb-head"><?php echo esc_html($post_author); ?></span>
324 </div>
325
326 <!-- Carousel Post Content -->
327 <div class="oe-travel-slider-carousel-post-banner-outer-box">
328 <div class="oe-travel-slider-carousel-post-banner-heading-box">
329 <h1
330 class="oe-travel-slider-carousel-post-banner-main-head ov-thmb-tittle">
331
332 <?php
333
334 // echo esc_html($post->post_title);
335 $title = esc_html($post->post_title);
336 $title = wp_trim_words($title, 10, '...');
337 // echo $title;
338 echo '<a href="' . esc_url(get_permalink($post->ID)) . '" class="post-title-link">' . esc_html($title) . '</a>';?>
339 </h1>
340
341
342 </h1>
343 </div>
344 <p class="oe-travel-slider-carousel-post-banner-sec-para ov-thmb-desc">
345
346 <?php
347 $content = apply_filters('the_content', $post_content);
348 $content = wp_strip_all_tags($content); // Remove HTML tags
349 $content = mb_strimwidth($content, 0, 130, '...'); // Limit to 150 characters with ellipsis
350 echo esc_html($content);
351
352 ?>
353
354 </p>
355 </div>
356 </div>
357 </div>
358 </div>
359 </div>
360 <?php
361 }
362 }
363 }
364 ?>
365
366 <!-- Swiper Navigation Buttons -->
367 <div class="swiper-button-pegination">
368 <div class="swiper-nav-buttons">
369 <!-- Swiper Navigation Buttons -->
370 <div class="swiper-button-next"></div>
371 <div class="swiper-button-prev"></div>
372 </div>
373 <!-- Swiper Pagination -->
374 <div class="swiper-pagination"></div>
375 </div>
376
377 </div>
378 </div> <!-- End Carousel Section -->
379 </div>
380 </div> <!-- End Slider Content -->
381 <div class="icon-list-box">
382 <!-- social icon add -->
383 <div class="follow-title">
384 <?php echo esc_html($_ova_elems_static_settings_template4['ov_template_review_text'] ?? ''); ?>
385 </div>
386 <div class="icons-list">
387
388 <div class="icons"><a
389 href="<?php echo esc_url($_ova_elems_static_settings_template4['facebook_url'] ?? '#'); ?>" target="_blank"><i
390 class="fa-brands fa-facebook-f"></i></a></div>
391 <div class="icons"><a
392 href="<?php echo esc_url($_ova_elems_static_settings_template4['instagram_url'] ?? '#'); ?>" target="_blank"><i
393 class="fa-brands fa-instagram"></i></a></div>
394 <div class="icons"><a
395 href="<?php echo esc_url($_ova_elems_static_settings_template4['youtube_url'] ?? '#'); ?>" target="_blank"><i
396 class="fa-brands fa-youtube"></i></a></div>
397 <div class="icons"><a
398 href="<?php echo esc_url($_ova_elems_static_settings_template4['basketball_url'] ?? '#'); ?>" target="_blank"><i
399 class="fa-solid fa-basketball"></i></a></div>
400 <div class="icons"><a
401 href="<?php echo esc_url($_ova_elems_static_settings_template4['twitter_url'] ?? '#'); ?>" target="_blank"><i
402 class="fa-brands fa-twitter"></i></a></div>
403 </div>
404 <!-- social icon end -->
405 </div>
406
407 </div>
408 <!-- Content Row End -->
409
410 </div>
411 <!-- Main Slider Box End -->
412
413 </section>
414
415 <form method="post" action="" class="ova-elems-slider-form">
416 <?php wp_nonce_field('ova_elems_slider_action', 'ova_elems_slider_nonce'); ?>
417 <!-- Rest of your form fields -->
418 </form>