PluginProbe
WP Directory Kit / 1.5.9
WP Directory Kit v1.5.9
1.5.9 1.5.7 1.5.6 1.5.5 1.5.4 1.5.3 trunk 1.1.0 1.1.6 1.1.8 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.8 All 37 releases
wpdirectorykit / shortcodes / shortcode-wdk-listing-field-value.php

shortcode-wdk-listing-field-value.php in WP Directory Kit 1.5.9, at shortcodes/shortcode-wdk-listing-field-value.php

134 lines 5.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 exit; // Exit if accessed directly.
5 }
6
7 /*
8 * Widget [wdk-listing-field-value], show latest listings in list view
9 * atts list:
10 *
11 * field_id (int) - field id
12 * post_id (int) - post_id
13 *
14 * Layout path :
15 * get_template_directory().'/wpdirectorykit/shortcodes/views/shortcode-latest-listings-list.php'
16 * WPDIRECTORYKIT_PATH.'shortcodes/views/shortcode-latest-listings-list.php'
17 */
18
19 add_shortcode('wdk-listing-field-value', 'shortcode_wdk_listing_field_value');
20 function shortcode_wdk_listing_field_value($atts, $content){
21 $atts = shortcode_atts(array(
22 'id'=>NULL,
23 'field_id'=>'',
24 'post_id'=>'',
25 'enable_html'=>'',
26 ), $atts);
27 $data = array();
28
29 /* settings from atts */
30 $data['settings'] = $atts;
31 $data['id_element'] = '';
32
33 /* load css/js */
34
35 $WMVC = &wdk_get_instance();
36 $WMVC->model('listingfield_m');
37 $WMVC->model('listing_m');
38 $WMVC->load_helper('listing');
39 global $wdk_listing_id;
40 $post_id = $wdk_listing_id;
41 if (!empty($data['settings']['post_id'])) {
42 $post_id = (int) $data['settings']['post_id'];
43 }
44
45 $data['field_value'] = '';
46 $data['field_prefix'] = '';
47 $data['field_suffix'] = '';
48
49 /* protect check */
50 if(in_array($data['settings']['field_id'], ['post_password', 'status']) ) {
51 return false;
52 }
53
54 $post_data = get_post($post_id);
55 if (!$post_data || $post_data->post_status != 'publish' || post_password_required($post_data)) {
56 return false;
57 }
58
59 if(wdk_field_option($data['settings']['field_id'], 'is_visible_frontend') != 1) {
60 return false;
61 }
62
63 if(!empty($data['settings']['field_id'])){
64 if(strpos($data['settings']['field_id'],'__') !== FALSE){
65 $data['settings']['field_id'] = substr($data['settings']['field_id'], strpos($data['settings']['field_id'],'__')+2);
66 }
67
68 if(wdk_field_option($data['settings']['field_id'], 'field_type') == "CHECKBOX") {
69 if(wdk_field_value ($data['settings']['field_id'], $post_id) == 1){
70 $data['field_value'] = '<span class="field_checkbox_success"><span class="label label-success"><span class="dashicons dashicons-saved"></span></span></span>';
71 } else {
72 $data['field_value'] = '<span class="field_checkbox_unsuccess"><span class="label label-success"><span class="dashicons dashicons-unsaved"></span></span></span>';
73 }
74 } else if(wdk_field_option($data['settings']['field_id'],'field_type') == "INPUTBOX") {
75 $data['field_value'] = wdk_field_value ($data['settings']['field_id'], $post_id);
76
77 if(strpos($data['field_value'], 'vimeo.com') !== FALSE)
78 {
79 $data['field_value'] = wp_oembed_get($data['field_value'], array("width"=>"800", "height"=>"450"));
80 }
81 elseif(strpos($data['field_value'], 'watch?v=') !== FALSE)
82 {
83 $embed_code = substr($data['field_value'], strpos($data['field_value'], 'watch?v=')+8);
84 $data['field_value'] = wp_oembed_get('https://www.youtube.com/watch?v='.$embed_code, array("width"=>"800", "height"=>"455"));
85 }
86 elseif(strpos($data['field_value'], 'youtu.be/') !== FALSE)
87 {
88 $embed_code = substr($data['field_value'], strpos($data['field_value'], 'youtu.be/')+9);
89 $data['field_value'] = wp_oembed_get('https://www.youtube.com/watch?v='.$embed_code, array("width"=>"800", "height"=>"455"));
90 }
91 elseif(filter_var($data['field_value'], FILTER_VALIDATE_URL) !== FALSE && preg_match('/\.(mp4|flv|wmw|ogv|webm|ogg)$/i', $data['field_value']))
92 {
93 $data['field_value'] = '<video src="'.$data['field_value'].'" controls></video> ';
94 }
95 elseif(filter_var($data['field_value'] , FILTER_VALIDATE_URL) !== FALSE) {
96 $data['field_value'] = '<a href="'.$data['field_value'] .'">'.wdk_field_label($data['settings']['field_id']).'</a>';
97 }
98 }
99 elseif($data['settings']['field_id'] == 'category_id') {
100 if(wdk_field_value ($data['settings']['field_id'], $post_id)){
101 $WMVC->model('category_m');
102 $tree_data = $WMVC->category_m->get(wdk_field_value ($data['settings']['field_id'], $post_id), TRUE);
103 $data['field_value'] = wmvc_show_data('category_title', $tree_data);
104 }
105 }
106 elseif($data['settings']['field_id'] == 'location_id') {
107 if(wdk_field_value ($data['settings']['field_id'], $post_id)){
108 $WMVC->model('location_m');
109 $tree_data = $WMVC->location_m->get(wdk_field_value ($data['settings']['field_id'], $post_id), TRUE);
110 $data['field_value'] = wmvc_show_data('location_title', $tree_data);
111 }
112 }
113 else {
114 $data['field_value'] = wdk_field_value ($data['settings']['field_id'], $post_id);
115 }
116
117 $data['field_prefix'] = wdk_field_option ($data['settings']['field_id'], 'prefix');
118 $data['field_suffix'] = wdk_field_option ($data['settings']['field_id'], 'suffix');
119 }
120
121 $data['is_edit_mode']= false;
122
123 /* return false if no content */
124 if(wdk_field_value($data['settings']['field_id'], $post_id) == '')
125 return false;
126
127 $data['field_prefix'] = apply_filters( 'wpdirectorykit/listing/field/prefix', $data['field_prefix'], $data['settings']['field_id']);
128 $data['field_value'] = apply_filters( 'wpdirectorykit/listing/field/value', (wmvc_show_data('value', $data['field_value'])), $data['settings']['field_id']);
129 $data['field_suffix'] = apply_filters( 'wpdirectorykit/listing/field/suffix',$data['field_suffix'], $data['settings']['field_id']);
130
131 return wdk_shortcodes_view('shortcode-wdk-listing-field-value', $data);
132 }
133
134 ?>