PluginProbe
Team Showcase / trunk
Team Showcase vtrunk
trunk 1.0 1.1 1.11 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.2 1.20 1.21 1.21.1 1.21.2 1.21.3 1.21.4 1.21.5 1.22.0 1.22.1 1.22.10 1.22.12 1.22.13 1.22.14 All 49 releases
team / includes / functions-layout-element.php

functions-layout-element.php in Team Showcase trunk, at includes/functions-layout-element.php

567 lines 21.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if (! defined('ABSPATH')) exit; // if direct access
3
4
5
6 add_action('team_layout_element_title', 'team_layout_element_title');
7 function team_layout_element_title($args)
8 {
9
10 //echo '<pre>'.var_export($args, true).'</pre>';
11 $team_member_id = isset($args['team_member_id']) ? $args['team_member_id'] : '';
12 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
13 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
14
15 $post_data = get_post($team_member_id);
16 $post_title = isset($post_data->post_title) ? $post_data->post_title : '';
17 $post_title = apply_filters('team_layout_element_title_text', $post_title, $args);
18
19
20 $element_class = !empty($element_index) ? 'element-' . $element_index : '';
21 $element_class = apply_filters('team_layout_element_title_class', $element_class, $args);
22
23 ?>
24 <div class="team-title <?php echo esc_attr($element_class); ?>"><?php echo wp_kses_post($post_title); ?></div>
25 <?php
26
27 }
28
29
30
31 add_action('team_layout_element_thumbnail', 'team_layout_element_thumbnail');
32 function team_layout_element_thumbnail($args)
33 {
34
35 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
36 $element_class = !empty($element_index) ? 'element-' . $element_index : '';
37 $element_class = apply_filters('team_layout_element_thumbnail_class', $element_class, $args);
38
39 //echo '<pre>'.var_export($args, true).'</pre>';
40 $team_id = isset($args['team_id']) ? $args['team_id'] : '';
41 $team_member_id = isset($args['team_member_id']) ? $args['team_member_id'] : '';
42 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
43
44 $permalink = get_permalink($team_member_id);
45 $team_member_url = apply_filters('team_layout_element_thumbnail_url', $permalink, $args);
46
47
48 $thumb_size = isset($elementData['thumb_size']) ? $elementData['thumb_size'] : 'full';
49
50 //echo '<pre>'.var_export($elementData, true).'</pre>';
51
52 $team_member_data = get_post_meta($team_member_id, 'team_member_data', true);
53 $member_image_id = isset($team_member_data['member_image']) ? $team_member_data['member_image'] : '';
54 $member_image_arr = wp_get_attachment_image_src($member_image_id, $thumb_size);
55 $member_image_url = isset($member_image_arr[0]) ? $member_image_arr[0] : '';
56
57 $member_image_url = apply_filters('team_layout_element_thumbnail_src', $member_image_url, $args);
58
59
60 //echo '<pre>'.var_export($team_member_url, true).'</pre>';
61
62 if (!empty($member_image_url)) {
63 ?>
64 <div class="team-thumb <?php echo esc_attr($element_class); ?>">
65 <?php if (!empty($team_member_url)): ?>
66 <a href="<?php echo esc_url($team_member_url); ?>">
67 <img src="<?php echo esc_url($member_image_url); ?>" />
68 </a>
69 <?php else: ?>
70 <img src="<?php echo esc_url($member_image_url); ?>" />
71
72 <?php endif; ?>
73
74
75 </div>
76 <?php
77
78 }
79 }
80
81
82
83
84
85 add_action('team_layout_element_position', 'team_layout_element_position');
86 function team_layout_element_position($args)
87 {
88
89 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
90 $element_class = !empty($element_index) ? 'element-' . $element_index : '';
91
92 //echo '<pre>'.var_export($args, true).'</pre>';
93 $team_member_id = isset($args['team_member_id']) ? $args['team_member_id'] : '';
94 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
95
96
97 $team_member_data = get_post_meta($team_member_id, 'team_member_data', true);
98 $position = isset($team_member_data['custom_fields']['position']) ? $team_member_data['custom_fields']['position'] : '';
99
100
101 //$team_member_position = get_post_meta($team_member_id,'position', true);
102
103 ?>
104 <div class="team-position <?php echo esc_attr($element_class); ?>"><?php echo wp_kses_post($position); ?></div>
105 <?php
106
107 }
108
109
110
111 add_action('team_layout_element_meta', 'team_layout_element_meta');
112 function team_layout_element_meta($args)
113 {
114
115 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
116 $element_class = !empty($element_index) ? 'element-' . $element_index : '';
117
118 //echo '<pre>'.var_export($args, true).'</pre>';
119 $team_member_id = isset($args['team_member_id']) ? $args['team_member_id'] : '';
120 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
121 $meta_key = isset($elementData['meta_key']) ? $elementData['meta_key'] : '';
122
123
124
125 //echo '<pre>'.var_export($elementData, true).'</pre>';
126
127 $team_member_data = get_post_meta($team_member_id, 'team_member_data', true);
128 $meta_key_value = isset($team_member_data['custom_fields'][$meta_key]) ? $team_member_data['custom_fields'][$meta_key] : '';
129 //echo '<pre>'.var_export($meta_key, true).'</pre>';
130
131 //$team_member_position = get_post_meta($team_member_id,'position', true);
132
133 ?>
134 <div class="team-meta <?php echo esc_attr($element_class); ?>"><?php echo wp_kses_post($meta_key_value); ?></div>
135 <?php
136
137 }
138
139
140
141
142 add_action('team_layout_element_social', 'team_layout_element_social');
143 function team_layout_element_social($args)
144 {
145
146 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
147 $element_class = !empty($element_index) ? 'element-' . $element_index : '';
148
149 //
150 $team_member_id = isset($args['team_member_id']) ? $args['team_member_id'] : '';
151 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
152
153 $social_icon_type = isset($elementData['social_icon_type']) ? $elementData['social_icon_type'] : '';
154 $social_icon_width = isset($elementData['social_icon_width']) ? $elementData['social_icon_width'] : '';
155 $social_icon_height = isset($elementData['social_icon_height']) ? $elementData['social_icon_height'] : '';
156 $social_icon_color = isset($elementData['color']) ? $elementData['color'] : '';
157 $social_icon_font_size = isset($elementData['font_size']) ? $elementData['font_size'] : '';
158 $social_icon_font_family = isset($elementData['font_family']) ? $elementData['font_family'] : '';
159
160
161
162 $team_member_data = get_post_meta($team_member_id, 'team_member_data', true);
163 $social_fields = isset($team_member_data['social_fields']) ? $team_member_data['social_fields'] : array();
164
165 $team_settings = get_option('team_settings');
166 $custom_social_fields = isset($team_settings['custom_social_fields']) ? $team_settings['custom_social_fields'] : array();
167
168 $social_fields_data = array();
169
170 foreach ($custom_social_fields as $social_field) {
171
172 $name = isset($social_field['name']) ? $social_field['name'] : '';
173 $meta_key = isset($social_field['meta_key']) ? $social_field['meta_key'] : '';
174 $icon = isset($social_field['icon']) ? $social_field['icon'] : '';
175 $font_icon = isset($social_field['font_icon']) ? $social_field['font_icon'] : '';
176
177 $visibility = isset($social_field['visibility']) ? $social_field['visibility'] : '';
178
179 $social_fields_data[$meta_key] = array('icon' => $icon, 'font_icon' => $font_icon, 'name' => $name, 'visibility' => $visibility,);
180 }
181
182
183
184
185 ob_start();
186
187 if (!empty($social_fields)):
188 foreach ($social_fields as $fieldIndex => $field):
189
190 $field_icon = isset($social_fields_data[$fieldIndex]['icon']) ? $social_fields_data[$fieldIndex]['icon'] : '';
191 $field_font_icon = isset($social_fields_data[$fieldIndex]['font_icon']) ? $social_fields_data[$fieldIndex]['font_icon'] : '';
192 //echo '<pre>'.var_export($field_font_icon, true).'</pre>';
193
194 if (!empty($field)):
195
196 $field_link = apply_filters('team_social_link', $field, $fieldIndex);
197 ?>
198 <span class="<?php echo esc_attr($social_icon_type); ?>">
199 <a href="<?php echo esc_url($field_link); ?>">
200 <?php
201 if ($social_icon_type == 'image_icon'):
202
203 if (!empty($field_icon)):
204 ?><img src="<?php echo esc_url($field_icon); ?>"><?php
205 endif;
206
207 elseif ($social_icon_type == 'font_icon'):
208
209 if (!empty($field_font_icon)):
210 ?><?php echo wp_kses_post($field_font_icon); ?><?php
211 endif;
212
213 elseif ($social_icon_type == 'text_link'):
214
215 ?><?php echo wp_kses_post($field_font_icon); ?> <?php echo esc_html($field); ?><?php
216 endif;
217
218 ?></a>
219 </span>
220 <?php
221 endif;
222
223
224 endforeach;
225
226 endif;
227
228 $html = ob_get_clean();
229
230 ?>
231 <div class="team-social <?php echo esc_attr($element_class); ?>"><?php echo wp_kses_post($html); ?></div>
232
233 <style type="text/css">
234 .team-social {
235 margin: 15px 0;
236 }
237
238 .team-social a {
239 font-size: <?php echo esc_attr($social_icon_font_size); ?>;
240 color: <?php echo esc_attr($social_icon_color); ?>;
241 }
242
243 .team-social .text_link {
244 display: block;
245 }
246
247 .team-social .text_link a {
248 text-decoration: none;
249 }
250
251 .team-social a img {
252 width: <?php echo esc_attr($social_icon_width); ?>;
253 height: <?php echo esc_attr($social_icon_height); ?>;
254 display: inline-block !important;
255 border-radius: 0;
256 box-shadow: none;
257 }
258 </style>
259
260
261 <?php
262
263 }
264
265 add_filter('team_social_link', 'team_social_link', 10, 2);
266 function team_social_link($field, $fieldIndex)
267 {
268
269 if ($fieldIndex == 'email') {
270 $field = 'mailto:' . $field;
271 } elseif ($fieldIndex == 'mobile') {
272 $field = 'tel:' . $field;
273 } elseif ($fieldIndex == 'skype') {
274 $field = 'skype:' . $field;
275 } elseif ($fieldIndex == 'phone') {
276 $field = 'tel:' . $field;
277 }
278
279 return $field;
280 }
281
282
283 add_action('team_layout_element_content', 'team_layout_element_content');
284 function team_layout_element_content($args)
285 {
286
287 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
288 $element_class = !empty($element_index) ? 'element-' . $element_index : '';
289 $element_class = apply_filters('team_layout_element_content_class', $element_class, $args);
290
291 //echo '<pre>'.var_export($args, true).'</pre>';
292
293 $team_id = isset($args['team_id']) ? $args['team_id'] : '';
294 $team_member_id = isset($args['team_member_id']) ? $args['team_member_id'] : '';
295 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
296 $content_source = isset($elementData['content_source']) ? $elementData['content_source'] : 'excerpt';
297 $read_more_text = isset($elementData['read_more_text']) ? $elementData['read_more_text'] : '';
298 $word_count = isset($elementData['word_count']) ? $elementData['word_count'] : 15;
299
300 $post_data = get_post($team_member_id);
301
302 $team_member_url = get_permalink($team_member_id);
303
304
305 $team_member_url = apply_filters('team_layout_element_content_link', $team_member_url, $args);
306
307
308 $content = isset($post_data->post_content) ? $post_data->post_content : '';
309
310 $content_html = '';
311
312 if ($content_source == 'content') {
313 $content_html = do_shortcode($content);
314 $content_html = wpautop($content_html);
315 } elseif ($content_source == 'excerpt') {
316
317 $content_html = wp_trim_words($content, $word_count, ' <a class="read-more" href="' . $team_member_url . '">' . $read_more_text . '</a>');
318 } else {
319 $content_html = wp_trim_words($content, $word_count, ' <a class="read-more" href="' . $team_member_url . '">' . $read_more_text . '</a>');
320 }
321
322
323 ?>
324 <div class="team-content <?php echo esc_attr($element_class); ?>"><?php echo wp_kses_post($content_html); ?></div>
325 <?php
326
327 }
328
329
330
331
332
333 add_action('team_layout_element_wrapper_start', 'team_layout_element_wrapper_start');
334 function team_layout_element_wrapper_start($args)
335 {
336
337 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
338 $element_class = !empty($element_index) ? 'element-' . $element_index : '';
339
340 //echo '<pre>'.var_export($args, true).'</pre>';
341 $team_member_id = isset($args['team_member_id']) ? $args['team_member_id'] : '';
342 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
343 $wrapper_class = isset($elementData['wrapper_class']) ? $elementData['wrapper_class'] : '';
344 $wrapper_id = isset($elementData['wrapper_id']) ? $elementData['wrapper_id'] : '';
345
346
347
348 ?>
349 <div class="<?php echo esc_attr($wrapper_class); ?> <?php echo esc_attr($element_class); ?>" id="<?php echo esc_attr($wrapper_id); ?>">
350 <?php
351
352 }
353
354
355 add_action('team_layout_element_wrapper_end', 'team_layout_element_wrapper_end');
356 function team_layout_element_wrapper_end($args)
357 {
358
359 // $element_index = isset($args['element_index']) ? $args['element_index'] : '';
360 // $element_class = !empty($element_index) ? 'element-'.$element_index : '';
361
362 //echo '<pre>'.var_export($args, true).'</pre>';
363 $team_member_id = isset($args['team_member_id']) ? $args['team_member_id'] : '';
364 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
365
366 ?>
367 </div>
368 <?php
369
370 }
371
372
373
374
375
376 add_action('team_layout_element_css_title', 'team_layout_element_css_title');
377 function team_layout_element_css_title($args)
378 {
379
380
381 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
382 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
383 $layout_id = isset($args['layout_id']) ? $args['layout_id'] : '';
384
385 $color = isset($elementData['color']) ? $elementData['color'] : '';
386 $font_size = isset($elementData['font_size']) ? $elementData['font_size'] : '';
387 $font_family = isset($elementData['font_family']) ? $elementData['font_family'] : '';
388 $margin = isset($elementData['margin']) ? $elementData['margin'] : '';
389
390
391 //echo '<pre>'.var_export($layout_id, true).'</pre>';
392
393 ?>
394 <style type="text/css">
395 <?php echo esc_attr('.layout-' . $layout_id); ?><?php echo esc_attr(' .element-' . $element_index); ?> {
396 color: <?php echo esc_attr($color); ?>;
397 font-size: <?php echo esc_attr($font_size); ?>;
398 font-family: <?php echo esc_attr($font_family); ?>;
399 margin: <?php echo esc_attr($margin); ?>;
400
401 }
402 </style>
403 <?php
404 }
405
406
407
408 add_action('team_layout_element_css_position', 'team_layout_element_css_position');
409 function team_layout_element_css_position($args)
410 {
411
412 //echo '<pre>'.var_export($args, true).'</pre>';
413 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
414 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
415 $layout_id = isset($args['layout_id']) ? $args['layout_id'] : '';
416
417 $color = isset($elementData['color']) ? $elementData['color'] : '';
418 $font_size = isset($elementData['font_size']) ? $elementData['font_size'] : '';
419 $font_family = isset($elementData['font_family']) ? $elementData['font_family'] : '';
420 $margin = isset($elementData['margin']) ? $elementData['margin'] : '';
421
422
423 ?>
424 <style type="text/css">
425 <?php echo esc_attr('.layout-' . $layout_id); ?><?php echo esc_attr(' .element-' . $element_index); ?> {
426 color: <?php echo esc_attr($color); ?>;
427 font-size: <?php echo esc_attr($font_size); ?>;
428 font-family: <?php echo esc_attr($font_family); ?>;
429 margin: <?php echo esc_attr($margin); ?>;
430
431 }
432 </style>
433 <?php
434 }
435
436
437 add_action('team_layout_element_css_meta', 'team_layout_element_css_meta');
438 function team_layout_element_css_meta($args)
439 {
440
441 //echo '<pre>'.var_export($args, true).'</pre>';
442 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
443 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
444 $layout_id = isset($args['layout_id']) ? $args['layout_id'] : '';
445
446 $color = isset($elementData['color']) ? $elementData['color'] : '';
447 $font_size = isset($elementData['font_size']) ? $elementData['font_size'] : '';
448 $font_family = isset($elementData['font_family']) ? $elementData['font_family'] : '';
449 $margin = isset($elementData['margin']) ? $elementData['margin'] : '';
450
451
452 ?>
453 <style type="text/css">
454 <?php echo esc_attr('.layout-' . $layout_id); ?><?php echo esc_attr(' .element-' . $element_index); ?> {
455 color: <?php echo esc_attr($color); ?>;
456 font-size: <?php echo esc_attr($font_size); ?>;
457 font-family: <?php echo esc_attr($font_family); ?>;
458 margin: <?php echo esc_attr($margin); ?>;
459
460 }
461 </style>
462 <?php
463 }
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483 add_action('team_layout_element_css_content', 'team_layout_element_css_content');
484 function team_layout_element_css_content($args)
485 {
486
487 //echo '<pre>'.var_export($args, true).'</pre>';
488 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
489 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
490 $layout_id = isset($args['layout_id']) ? $args['layout_id'] : '';
491
492 $read_more_color = isset($elementData['read_more_color']) ? $elementData['read_more_color'] : '';
493
494 $color = isset($elementData['color']) ? $elementData['color'] : '';
495 $font_size = isset($elementData['font_size']) ? $elementData['font_size'] : '';
496 $font_family = isset($elementData['font_family']) ? $elementData['font_family'] : '';
497 $margin = isset($elementData['margin']) ? $elementData['margin'] : '';
498
499
500 ?>
501 <style type="text/css">
502 <?php echo esc_attr('.layout-' . $layout_id); ?><?php echo esc_attr(' .element-' . $element_index); ?> {
503 color: <?php echo esc_attr($color); ?>;
504 font-size: <?php echo esc_attr($font_size); ?>;
505 font-family: <?php echo esc_attr($font_family); ?>;
506 margin: <?php echo esc_attr($margin); ?>;
507
508 }
509
510 <?php echo esc_attr('.layout-' . $layout_id); ?><?php echo esc_attr(' .element-' . $element_index); ?>a {
511 color: <?php echo esc_attr($read_more_color); ?>;
512
513 }
514 </style>
515 <?php
516 }
517
518
519
520 add_action('team_layout_element_css_thumbnail', 'team_layout_element_css_thumbnail');
521 function team_layout_element_css_thumbnail($args)
522 {
523
524 //echo '<pre>'.var_export($args, true).'</pre>';
525 $element_index = isset($args['element_index']) ? $args['element_index'] : '';
526 $elementData = isset($args['elementData']) ? $args['elementData'] : array();
527 $layout_id = isset($args['layout_id']) ? $args['layout_id'] : '';
528
529 $thumb_height = isset($elementData['thumb_height']) ? $elementData['thumb_height'] : '';
530 $thumb_height_large = isset($thumb_height['large']) ? $thumb_height['large'] : '';
531 $thumb_height_medium = isset($thumb_height['medium']) ? $thumb_height['medium'] : '';
532 $thumb_height_small = isset($thumb_height['small']) ? $thumb_height['small'] : '';
533
534 $margin = isset($elementData['margin']) ? $elementData['margin'] : '';
535
536
537 ?>
538 <style type="text/css">
539 <?php echo esc_attr('.layout-' . $layout_id); ?><?php echo esc_attr(' .element-' . $element_index); ?> {
540 overflow: hidden;
541 margin: <?php echo esc_attr($margin); ?>;
542 }
543
544 @media only screen and (min-width: 1024px) {
545 <?php echo esc_attr('.layout-' . $layout_id); ?><?php echo esc_attr(' .element-' . $element_index); ?> {
546 <?php if (!empty($thumb_height_large)): ?>max-height: <?php echo esc_attr($thumb_height_large); ?>;
547 <?php endif; ?>
548 }
549 }
550
551 @media only screen and (min-width: 768px) and (max-width: 1023px) {
552 <?php echo esc_attr('.layout-' . $layout_id); ?><?php echo esc_attr(' .element-' . $element_index); ?> {
553 <?php if (!empty($thumb_height_medium)): ?>max-height: <?php echo esc_attr($thumb_height_medium); ?>;
554 <?php endif; ?>
555 }
556 }
557
558 @media only screen and (min-width: 0px) and (max-width: 767px) {
559 <?php echo esc_attr('.layout-' . $layout_id); ?><?php echo esc_attr(' .element-' . $element_index); ?> {
560 <?php if (!empty($thumb_height_small)): ?>max-height: <?php echo esc_attr($thumb_height_small); ?>;
561 <?php endif; ?>
562 }
563 }
564 </style>
565 <?php
566 }
567