| @@ -38,14 +38,29 @@ | ||
| 38 | 38 | $WMVC->load_helper('listing'); |
| 39 | 39 | global $wdk_listing_id; |
| 40 | 40 | $post_id = $wdk_listing_id; |
| 41 | 41 | if (!empty($data['settings']['post_id'])) { |
| 42 | - $post_id = $data['settings']['post_id']; | |
| 42 | + $post_id = (int) $data['settings']['post_id']; | |
| 43 | 43 | } |
| 44 | 44 | |
| 45 | 45 | $data['field_value'] = ''; |
| 46 | 46 | $data['field_prefix'] = ''; |
| 47 | 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 | + | |
| 48 | 63 | if(!empty($data['settings']['field_id'])){ |
| 49 | 64 | if(strpos($data['settings']['field_id'],'__') !== FALSE){ |
| 50 | 65 | $data['settings']['field_id'] = substr($data['settings']['field_id'], strpos($data['settings']['field_id'],'__')+2); |
| 51 | 66 | } |