From 7671eec92088896e4a54928740e4040c2273222e Mon Sep 17 00:00:00 2001 From: shridhamdeveloper Date: Sat, 17 Feb 2024 18:10:53 +0530 Subject: [PATCH 01/15] #2073 --- view/common.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/view/common.php b/view/common.php index dc632365..85f57336 100644 --- a/view/common.php +++ b/view/common.php @@ -326,6 +326,9 @@ public function saswp_schema_fields_html_on_the_fly($schema_type, $schema_id, $p $tabs_fields .= ''.saswp_t_string( 'Add '.$btn_text ).''; } $tabs_fields .= ''; + if($prosCheckboxFalse){ + $tabs_fields .=''; + } } From 81ff117be0b4cc96318178b92b36fe74bd1f3556 Mon Sep 17 00:00:00 2001 From: shridhamdeveloper Date: Tue, 20 Feb 2024 11:09:48 +0530 Subject: [PATCH 02/15] #2070 --- output/service.php | 66 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 11 deletions(-) diff --git a/output/service.php b/output/service.php index cca4e60b..fe91a286 100644 --- a/output/service.php +++ b/output/service.php @@ -1628,7 +1628,11 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['url'] = saswp_validate_url($custom_fields['saswp_article_url']); } if(isset($custom_fields['saswp_article_body'])){ - $input1['articleBody'] = $custom_fields['saswp_article_body']; + if($custom_fields['saswp_article_body']){ + $input1['articleBody'] = $custom_fields['saswp_article_body']; + }else{ + unset($input1['articleBody']); + } } if(isset($custom_fields['saswp_article_keywords'])){ $input1['keywords'] = $custom_fields['saswp_article_keywords']; @@ -2277,7 +2281,11 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['url'] = saswp_validate_url($custom_fields['saswp_creativework_url']); } if(isset($custom_fields['saswp_creativework_body'])){ - $input1['articleBody'] = $custom_fields['saswp_creativework_body']; + if($custom_fields['saswp_creativework_body']){ + $input1['articleBody'] = $custom_fields['saswp_creativework_body']; + }else{ + unset($input1['articleBody']); + } } if(isset($custom_fields['saswp_creativework_keywords'])){ $input1['keywords'] = $custom_fields['saswp_creativework_keywords']; @@ -3129,7 +3137,11 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['description'] = wp_strip_all_tags(strip_shortcodes( $custom_fields['saswp_blogposting_description'] )); } if(isset($custom_fields['saswp_blogposting_body'])){ - $input1['articleBody'] = $custom_fields['saswp_blogposting_body']; + if($custom_fields['saswp_blogposting_body']){ + $input1['articleBody'] = $custom_fields['saswp_blogposting_body']; + }else{ + unset($input1['articleBody']); + } } if(isset($custom_fields['saswp_blogposting_name'])){ $input1['name'] = $custom_fields['saswp_blogposting_name']; @@ -3530,7 +3542,11 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['articleSection'] = $custom_fields['saswp_newsarticle_section']; } if(isset($custom_fields['saswp_newsarticle_body'])){ - $input1['articleBody'] = $custom_fields['saswp_newsarticle_body']; + if($custom_fields['saswp_newsarticle_body']){ + $input1['articleBody'] = $custom_fields['saswp_newsarticle_body']; + }else{ + unset($input1['articleBody']); + } } if(isset($custom_fields['saswp_newsarticle_name'])){ $input1['name'] = $custom_fields['saswp_newsarticle_name']; @@ -3637,7 +3653,11 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['articleSection'] = $custom_fields['saswp_analysisnewsarticle_section']; } if(isset($custom_fields['saswp_analysisnewsarticle_body'])){ - $input1['articleBody'] = $custom_fields['saswp_analysisnewsarticle_body']; + if($custom_fields['saswp_analysisnewsarticle_body']){ + $input1['articleBody'] = $custom_fields['saswp_analysisnewsarticle_body']; + }else{ + unset($input1['articleBody']); + } } if(isset($custom_fields['saswp_analysisnewsarticle_name'])){ $input1['name'] = $custom_fields['saswp_analysisnewsarticle_name']; @@ -3738,7 +3758,11 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['articleSection'] = $custom_fields['saswp_askpublicnewsarticle_section']; } if(isset($custom_fields['saswp_askpublicnewsarticle_body'])){ - $input1['articleBody'] = $custom_fields['saswp_askpublicnewsarticle_body']; + if($custom_fields['saswp_askpublicnewsarticle_body']){ + $input1['articleBody'] = $custom_fields['saswp_askpublicnewsarticle_body']; + }else{ + unset($input1['articleBody']); + } } if(isset($custom_fields['saswp_askpublicnewsarticle_name'])){ $input1['name'] = $custom_fields['saswp_askpublicnewsarticle_name']; @@ -3839,7 +3863,11 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['articleSection'] = $custom_fields['saswp_backgroundnewsarticle_section']; } if(isset($custom_fields['saswp_backgroundnewsarticle_body'])){ - $input1['articleBody'] = $custom_fields['saswp_backgroundnewsarticle_body']; + if($custom_fields['saswp_backgroundnewsarticle_body']){ + $input1['articleBody'] = $custom_fields['saswp_backgroundnewsarticle_body']; + }else{ + unset($input1['articleBody']); + } } if(isset($custom_fields['saswp_backgroundnewsarticle_name'])){ $input1['name'] = $custom_fields['saswp_backgroundnewsarticle_name']; @@ -3940,7 +3968,11 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['articleSection'] = $custom_fields['saswp_opinionnewsarticle_section']; } if(isset($custom_fields['saswp_opinionnewsarticle_body'])){ - $input1['articleBody'] = $custom_fields['saswp_opinionnewsarticle_body']; + if($custom_fields['saswp_opinionnewsarticle_body']){ + $input1['articleBody'] = $custom_fields['saswp_opinionnewsarticle_body']; + }else{ + unset($input1['articleBody']); + } } if(isset($custom_fields['saswp_opinionnewsarticle_name'])){ $input1['name'] = $custom_fields['saswp_opinionnewsarticle_name']; @@ -4041,7 +4073,11 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['articleSection'] = $custom_fields['saswp_reportagenewsarticle_section']; } if(isset($custom_fields['saswp_reportagenewsarticle_body'])){ - $input1['articleBody'] = $custom_fields['saswp_reportagenewsarticle_body']; + if($custom_fields['saswp_reportagenewsarticle_body']){ + $input1['articleBody'] = $custom_fields['saswp_reportagenewsarticle_body']; + }else{ + unset($input1['articleBody']); + } } if(isset($custom_fields['saswp_reportagenewsarticle_name'])){ $input1['name'] = $custom_fields['saswp_reportagenewsarticle_name']; @@ -4142,7 +4178,11 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['articleSection'] = $custom_fields['saswp_reviewnewsarticle_section']; } if(isset($custom_fields['saswp_reviewnewsarticle_body'])){ - $input1['articleBody'] = $custom_fields['saswp_reviewnewsarticle_body']; + if($custom_fields['saswp_reviewnewsarticle_body']){ + $input1['articleBody'] = $custom_fields['saswp_reviewnewsarticle_body']; + }else{ + unset($input1['articleBody']); + } } if(isset($custom_fields['saswp_reviewnewsarticle_name'])){ $input1['name'] = $custom_fields['saswp_reviewnewsarticle_name']; @@ -4804,7 +4844,11 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['url'] = saswp_validate_url($custom_fields['saswp_tech_article_url']); } if(isset($custom_fields['saswp_tech_article_body'])){ - $input1['articleBody'] = $custom_fields['saswp_tech_article_body']; + if($custom_fields['saswp_tech_article_body']){ + $input1['articleBody'] = $custom_fields['saswp_tech_article_body']; + }else{ + unset($input1['articleBody']); + } } if(isset($custom_fields['saswp_tech_article_keywords'])){ $input1['keywords'] = $custom_fields['saswp_tech_article_keywords']; From 0dda236b77e4dac6175dc1ccd1dec03fd026ea54 Mon Sep 17 00:00:00 2001 From: shridhamdeveloper Date: Tue, 20 Feb 2024 14:01:17 +0530 Subject: [PATCH 03/15] #2074 --- output/output.php | 1 + 1 file changed, 1 insertion(+) diff --git a/output/output.php b/output/output.php index e3f1d13f..271e5b67 100644 --- a/output/output.php +++ b/output/output.php @@ -3122,6 +3122,7 @@ function saswp_woocommerce_category_schema(){ $item_list_schema['@context'] = saswp_context_url(); $item_list_schema['@type'] = 'ItemList'; + $item_list_schema['id'] = saswp_get_category_link($term->term_id).'#ItemList'; if(saswp_has_slash($current_url)){ $item_list_schema['url'] = saswp_get_category_link($term->term_id); From bb41e7f4825c139ff01b1a663c9757a24c675be3 Mon Sep 17 00:00:00 2001 From: shridhamdeveloper Date: Tue, 20 Feb 2024 14:26:58 +0530 Subject: [PATCH 04/15] #2074 --- output/output.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/output/output.php b/output/output.php index 271e5b67..97cc4002 100644 --- a/output/output.php +++ b/output/output.php @@ -3122,7 +3122,7 @@ function saswp_woocommerce_category_schema(){ $item_list_schema['@context'] = saswp_context_url(); $item_list_schema['@type'] = 'ItemList'; - $item_list_schema['id'] = saswp_get_category_link($term->term_id).'#ItemList'; + $item_list_schema['@id'] = saswp_get_category_link($term->term_id).'#ItemList'; if(saswp_has_slash($current_url)){ $item_list_schema['url'] = saswp_get_category_link($term->term_id); From 8ae8808bcc83bca85cd3e64a0bf08b162fd416f9 Mon Sep 17 00:00:00 2001 From: shridhamdeveloper Date: Thu, 22 Feb 2024 16:13:27 +0530 Subject: [PATCH 05/15] #2068 --- core/array-list/repeater-fields.php | 78 +++++++++- core/array-list/schema-properties.php | 214 ++++++++++++++++++++++++++ core/array-list/schemas.php | 1 + core/global.php | 1 + output/markup.php | 167 ++++++++++++++++++++ output/output.php | 17 ++ output/service.php | 91 +++++++++++ 7 files changed, 568 insertions(+), 1 deletion(-) diff --git a/core/array-list/repeater-fields.php b/core/array-list/repeater-fields.php index 45f318a1..dc91107a 100644 --- a/core/array-list/repeater-fields.php +++ b/core/array-list/repeater-fields.php @@ -120,6 +120,12 @@ ), 'Course' => array( 'course-instance' => 'course_instance' + ), + 'VacationRental' => array( + 'vacation-rental-porperty-images' => 'vacation_rental_property_images', + 'vacation-rental-bed-details' => 'vacation_rental_bed_details', + 'vacation-rental-amenity-feature' => 'vacation_rental_amenity_feature', + 'vacation-rental-review-rating' => 'vacation_rental_review_rating' ) ), @@ -881,6 +887,76 @@ 'name' => 'saswp_course_instance_offer_currency', 'type' => 'text' ), - ) + ), + 'vacation_rental_bed_details' => array( + array( + 'label' => 'Number Of Beds', + 'name' => 'saswp_vr_bed_details_nob', + 'type' => 'number' + ), + array( + 'label' => 'Type Of Bed', + 'name' => 'saswp_vr_bed_details_tob', + 'type' => 'text' + ), + ), + 'vacation_rental_amenity_feature' => array( + array( + 'label' => 'Name', + 'name' => 'saswp_vr_amenity_feature_name', + 'type' => 'text' + ), + array( + 'label' => 'Value', + 'name' => 'saswp_vr_amenity_feature_value', + 'type' => 'text' + ) + ), + 'vacation_rental_property_images' => array( + array( + 'label' => 'Property Image', + 'name' => 'saswp_vr_property_image', + 'type' => 'media', + ) + ), + 'vacation_rental_review_rating' => array( + array( + 'label' => 'Rating Value', + 'name' => 'saswp_vr_review_rating_value', + 'type' => 'number' + ), + array( + 'label' => 'Best Rating', + 'name' => 'saswp_vr_review_rating_best_value', + 'type' => 'number' + ), + array( + 'label' => 'Author Type', + 'name' => 'saswp_vr_review_rating_author_type', + 'type' => 'select', + 'options' => array( + 'Person' => 'Person', + 'Organization' => 'Organization' + ) + ), + array( + 'label' => 'Author Name', + 'name' => 'saswp_vr_review_rating_author_name', + 'type' => 'text' + ), + array( + 'label' => 'Date Published', + 'name' => 'saswp_vr_review_rating_date_pub', + 'type' => 'date', + 'default' => get_the_date("Y-m-d") + ), + array( + 'label' => 'Content Reference Time', + 'name' => 'saswp_vr_review_rating_cr_time', + 'type' => 'date', + 'default' => get_the_date("Y-m-d") + ) + ) + ) ); \ No newline at end of file diff --git a/core/array-list/schema-properties.php b/core/array-list/schema-properties.php index 830c7be0..dffd6f20 100644 --- a/core/array-list/schema-properties.php +++ b/core/array-list/schema-properties.php @@ -10629,6 +10629,220 @@ function saswp_get_fields_by_schema_type( $schema_id = null, $condition = null, ), ); break; + + case 'VacationRental': + $meta_field = array( + array( + 'label' => 'Additional Type', + 'id' => 'saswp_vr_schema_additional_type_'.$schema_id, + 'type' => 'select', + 'options' => array( + 'Apartment' => 'Apartment', + 'Bungalow' => 'Bungalow', + 'Cabin' => 'Cabin', + 'Chalet' => 'Chalet', + 'Cottage' => 'Cottage', + 'Gite' => 'Gite', + 'HolidayVillageRental' => 'HolidayVillageRental', + 'House' => 'House', + 'Villa' => 'Villa', + 'VacationRental' => 'VacationRental' + ) + ), + array( + 'label' => 'Brand', + 'id' => 'saswp_vr_schema_brand_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => 'Brand ID' + ) + ), + array( + 'label' => 'Contains Place Additional Type', + 'id' => 'saswp_vr_schema_cpat_'.$schema_id, + 'type' => 'select', + 'options' => array( + 'EntirePlace' => 'EntirePlace', + 'PrivateRoom' => 'PrivateRoom', + 'SharedRoom' => 'SharedRoom' + ) + ), + array( + 'label' => 'Occupancy', + 'id' => 'saswp_vr_schema_occupancy_'.$schema_id, + 'type' => 'number', + 'attributes' => array( + 'placeholder' => '4' + ) + ), + array( + 'label' => 'Floor Size Value', + 'id' => 'saswp_vr_schema_floor_value_'.$schema_id, + 'type' => 'number', + 'attributes' => array( + 'placeholder' => '75' + ) + ), + array( + 'label' => 'Floor Size Unit Code', + 'id' => 'saswp_vr_schema_floor_uc_'.$schema_id, + 'type' => 'select', + 'options' => array( + 'FTK' => 'FTK', + 'SQFT' => 'SQFT', + 'MTK' => 'MTK', + 'SQM' => 'SQM' + ) + ), + array( + 'label' => 'Total Bathrooms', + 'id' => 'saswp_vr_schema_total_bathrooms_'.$schema_id, + 'type' => 'number', + 'attributes' => array( + 'placeholder' => '1' + ) + ), + array( + 'label' => 'Number Of Bedrooms', + 'id' => 'saswp_vr_schema_total_bedrooms_'.$schema_id, + 'type' => 'number', + 'attributes' => array( + 'placeholder' => '3' + ) + ), + array( + 'label' => 'Number Of Rooms', + 'id' => 'saswp_vr_schema_total_rooms_'.$schema_id, + 'type' => 'number', + 'attributes' => array( + 'placeholder' => '5' + ) + ), + array( + 'label' => 'Identifier', + 'id' => 'saswp_vr_schema_identifier_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => 'Enter Identifier' + ) + ), + array( + 'label' => 'Latitude', + 'id' => 'saswp_vr_schema_latitude_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => 'Enter Latitude' + ) + ), + array( + 'label' => 'longitude', + 'id' => 'saswp_vr_schema_longitude_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => 'Enter Longitude' + ) + ), + array( + 'label' => 'Name', + 'id' => 'saswp_vr_schema_name_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => 'Enter Name' + ) + ), + array( + 'label' => 'Address Country', + 'id' => 'saswp_vr_schema_country_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => 'US' + ) + ), + array( + 'label' => 'Address Locality', + 'id' => 'saswp_vr_schema_locality_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => 'Mountain View' + ) + ), + array( + 'label' => 'Address Region', + 'id' => 'saswp_vr_schema_region_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => 'California' + ) + ), + array( + 'label' => 'Postal Code', + 'id' => 'saswp_vr_schema_p_code_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => '94043' + ) + ), + array( + 'label' => 'Street Address', + 'id' => 'saswp_vr_schema_s_address_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => '1600 Amphitheatre Pkwy' + ) + ), + array( + 'label' => 'Checkin Time', + 'id' => 'saswp_vr_schema_checkin_time_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => '18:00:00+08:00' + ) + ), + array( + 'label' => 'Checkout Time', + 'id' => 'saswp_vr_schema_checkout_time_'.$schema_id, + 'type' => 'text', + 'attributes' => array( + 'placeholder' => '11:00:00+08:00' + ) + ), + array( + 'label' => 'Description', + 'id' => 'saswp_vr_schema_description_'.$schema_id, + 'type' => 'text' + ), + array( + 'label' => 'Knows Language', + 'id' => 'saswp_vr_schema_knows_language_'.$schema_id, + 'type' => 'text' + ), + array( + 'label' => 'Aggregate Rating', + 'id' => 'saswp_vr_schema_enable_rating_'.$schema_id, + 'type' => 'checkbox', + ), + array( + 'label' => 'Rating Value', + 'id' => 'saswp_vr_schema_rating_value_'.$schema_id, + 'type' => 'text', + ), + array( + 'label' => 'Rating Count', + 'id' => 'saswp_vr_schema_rating_count_'.$schema_id, + 'type' => 'text', + ), + array( + 'label' => 'Review Count', + 'id' => 'saswp_vr_schema_review_count_'.$schema_id, + 'type' => 'text', + ), + array( + 'label' => 'Best rating', + 'id' => 'saswp_vr_schema_best_rating_'.$schema_id, + 'type' => 'text', + ) + ); + break; default: break; diff --git a/core/array-list/schemas.php b/core/array-list/schemas.php index ce694516..3d9a53b9 100644 --- a/core/array-list/schemas.php +++ b/core/array-list/schemas.php @@ -8,6 +8,7 @@ 'House' => 'House', 'HotelRoom' => 'HotelRoom', 'SingleFamilyResidence' => 'SingleFamilyResidence', + 'VacationRental' => 'VacationRental' ), 'CreativeWork' => array( 'Article' => 'Article', diff --git a/core/global.php b/core/global.php index 5c184bda..d1d7fcfa 100644 --- a/core/global.php +++ b/core/global.php @@ -81,6 +81,7 @@ 'SpecialAnnouncement', 'Service', 'TouristTrip', + 'VacationRental' ); $translation_labels = array( 'translation-pros' => 'Pros', diff --git a/output/markup.php b/output/markup.php index bc759b15..bb7d6b08 100644 --- a/output/markup.php +++ b/output/markup.php @@ -7191,4 +7191,171 @@ function saswp_review_schema_markup($schema_id, $schema_post_id, $all_post_meta) } return $input1; +} + + +function saswp_vacation_rental_schema_markup($schema_id, $schema_post_id, $all_post_meta) +{ + $input1 = array(); + $input1['@context'] = saswp_context_url(); + $input1['@type'] = 'VacationRental'; + $input1['@id'] = saswp_get_permalink().'#VacationRental'; + if(isset($all_post_meta['saswp_vr_schema_additional_type_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_additional_type_'.$schema_id][0])){ + $input1['additionalType'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_additional_type_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_brand_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_brand_'.$schema_id][0])){ + $input1['brand'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_brand_'.$schema_id, 'saswp_array'); + } + $input1['containsPlace']['@type'] = 'Accommodation'; + if(isset($all_post_meta['saswp_vr_schema_cpat_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_cpat_'.$schema_id][0])){ + $input1['containsPlace']['additionalType'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_cpat_'.$schema_id, 'saswp_array'); + } + + $bed_details = get_post_meta($schema_post_id, 'vacation_rental_bed_details_'.$schema_id, true); + + if(!empty($bed_details) && is_array($bed_details) && count($bed_details) > 0){ + $bcnt = 0; + foreach ($bed_details as $bd_key => $bd_value) { + if(!empty($bd_value) && is_array($bd_value)){ + $input1['containsPlace']['bed'][$bcnt]['@type'] = 'BedDetails'; + $input1['containsPlace']['bed'][$bcnt]['numberOfBeds'] = isset($bd_value['saswp_vr_bed_details_nob'])?intval($bd_value['saswp_vr_bed_details_nob']):''; + $input1['containsPlace']['bed'][$bcnt]['typeOfBed'] = isset($bd_value['saswp_vr_bed_details_tob'])?sanitize_text_field($bd_value['saswp_vr_bed_details_tob']):''; + $bcnt++; + } + } + } + + if(isset($all_post_meta['saswp_vr_schema_occupancy_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_occupancy_'.$schema_id][0])){ + $input1['containsPlace']['occupancy']['@type'] = 'QuantitativeValue'; + $input1['containsPlace']['occupancy']['value'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_occupancy_'.$schema_id, 'saswp_array'); + } + + $amenity_feature = get_post_meta($schema_post_id, 'vacation_rental_amenity_feature_'.$schema_id, true); + + if(!empty($amenity_feature) && is_array($amenity_feature) && count($amenity_feature) > 0){ + $afcnt = 0; + foreach ($amenity_feature as $af_key => $af_value) { + if(!empty($af_value) && is_array($af_value)){ + $input1['containsPlace']['amenityFeature'][$afcnt]['@type'] = 'LocationFeatureSpecification'; + $input1['containsPlace']['amenityFeature'][$afcnt]['name'] = isset($af_value['saswp_vr_amenity_feature_name'])?sanitize_text_field($af_value['saswp_vr_amenity_feature_name']):''; + $input1['containsPlace']['amenityFeature'][$afcnt]['value'] = isset($af_value['saswp_vr_amenity_feature_value'])?sanitize_text_field($af_value['saswp_vr_amenity_feature_value']):''; + $afcnt++; + } + } + } + + if(isset($all_post_meta['saswp_vr_schema_floor_value_'.$schema_id]) || isset($all_post_meta['saswp_vr_schema_floor_value_'.$schema_id])){ + $input1['containsPlace']['floorSize']['@type'] = 'QuantitativeValue'; + $input1['containsPlace']['floorSize']['value'] = isset($all_post_meta['saswp_vr_schema_floor_value_'.$schema_id])?saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_floor_value_'.$schema_id, 'saswp_array'):''; + $input1['containsPlace']['floorSize']['unitCode'] = isset($all_post_meta['saswp_vr_schema_floor_uc_'.$schema_id])?saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_floor_uc_'.$schema_id, 'saswp_array'):''; + } + + if(isset($all_post_meta['saswp_vr_schema_total_bathrooms_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_total_bathrooms_'.$schema_id][0])){ + $input1['containsPlace']['numberOfBathroomsTotal'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_total_bathrooms_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_total_bedrooms_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_total_bedrooms_'.$schema_id][0])){ + $input1['containsPlace']['numberOfBedrooms'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_total_bedrooms_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_total_rooms_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_total_rooms_'.$schema_id][0])){ + $input1['containsPlace']['numberOfRooms'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_total_rooms_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_identifier_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_identifier_'.$schema_id][0])){ + $input1['identifier'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_identifier_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_latitude_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_latitude_'.$schema_id][0])){ + $input1['latitude'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_latitude_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_longitude_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_longitude_'.$schema_id][0])){ + $input1['longitude'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_longitude_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_name_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_name_'.$schema_id][0])){ + $input1['name'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_name_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_country_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_country_'.$schema_id][0])){ + $input1['address']['addressCountry'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_country_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_locality_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_locality_'.$schema_id][0])){ + $input1['address']['addressLocality'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_locality_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_region_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_region_'.$schema_id][0])){ + $input1['address']['addressRegion'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_region_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_p_code_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_p_code_'.$schema_id][0])){ + $input1['address']['postalCode'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_p_code_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_s_address_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_s_address_'.$schema_id][0])){ + $input1['address']['streetAddress'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_s_address_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_rating_value_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_rating_value_'.$schema_id][0])){ + $input1['aggregateRating']['ratingValue'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_rating_value_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_rating_count_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_rating_count_'.$schema_id][0])){ + $input1['aggregateRating']['ratingCount'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_rating_count_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_review_count_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_review_count_'.$schema_id][0])){ + $input1['aggregateRating']['reviewCount'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_review_count_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_best_rating_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_best_rating_'.$schema_id][0])){ + $input1['aggregateRating']['bestRating'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_best_rating_'.$schema_id, 'saswp_array'); + } + + $property_images = get_post_meta($schema_post_id, 'vacation_rental_property_images_'.$schema_id, true); + + if(!empty($property_images) && is_array($property_images) && count($property_images) > 0){ + $picnt = 0; + foreach ($property_images as $pi_key => $pi_value) { + if(!empty($pi_value) && is_array($pi_value)){ + if(isset($pi_value['saswp_vr_property_image_id']) && !empty($pi_value['saswp_vr_property_image_id'])){ + $image_url = wp_get_attachment_image_url($pi_value['saswp_vr_property_image_id']); + if(!empty($image_url) && is_string($image_url) ){ + $input1['image'][$picnt] = $image_url; + $picnt++; + } + } + } + } + } + + if(isset($all_post_meta['saswp_vr_schema_checkin_time_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_checkin_time_'.$schema_id][0])){ + $input1['checkinTime'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_checkin_time_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_checkout_time_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_checkout_time_'.$schema_id][0])){ + $input1['checkoutTime'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_checkout_time_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_description_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_description_'.$schema_id][0])){ + $input1['description'] = saswp_remove_warnings($all_post_meta, 'saswp_vr_schema_description_'.$schema_id, 'saswp_array'); + } + if(isset($all_post_meta['saswp_vr_schema_knows_language_'.$schema_id]) && isset($all_post_meta['saswp_vr_schema_knows_language_'.$schema_id][0])){ + if(!empty($all_post_meta['saswp_vr_schema_knows_language_'.$schema_id][0])){ + $explode_lang = explode(',', $all_post_meta['saswp_vr_schema_knows_language_'.$schema_id][0]); + if(!empty($explode_lang) && is_array($explode_lang)){ + foreach ($explode_lang as $el_key => $el_value) { + if(!empty($el_value)){ + $input1['knowsLanguage'] = $el_value; + } + } + } + } + } + + $review_rating = get_post_meta($schema_post_id, 'vacation_rental_review_rating_'.$schema_id, true); + + if(!empty($review_rating) && is_array($review_rating) && count($review_rating) > 0){ + $rrcnt = 0; + foreach ($review_rating as $rr_key => $rr_value) { + if(!empty($rr_value) && is_array($rr_value)){ + $input1['review'][$rrcnt]['@type'] = 'Review'; + $input1['review'][$rrcnt]['reviewRating']['@type'] = 'Rating'; + $input1['review'][$rrcnt]['reviewRating']['ratingValue'] = isset($rr_value['saswp_vr_review_rating_value'])?intval($rr_value['saswp_vr_review_rating_value']):''; + $input1['review'][$rrcnt]['reviewRating']['bestRating'] = isset($rr_value['saswp_vr_review_rating_best_value'])?intval($rr_value['saswp_vr_review_rating_best_value']):''; + $input1['review'][$rrcnt]['author']['@type'] = isset($rr_value['saswp_vr_review_rating_author_type'])?sanitize_text_field($rr_value['saswp_vr_review_rating_author_type']):''; + $input1['review'][$rrcnt]['author']['name'] = isset($rr_value['saswp_vr_review_rating_author_name'])?sanitize_text_field($rr_value['saswp_vr_review_rating_author_name']):''; + $input1['review'][$rrcnt]['datePublished'] = isset($rr_value['saswp_vr_review_rating_date_pub'])?date('Y-m-d', strtotime($rr_value['saswp_vr_review_rating_date_pub'])):''; + $input1['review'][$rrcnt]['contentReferenceTime'] = isset($rr_value['saswp_vr_review_rating_cr_time'])?date('Y-m-d', strtotime($rr_value['saswp_vr_review_rating_cr_time'])):''; + $rrcnt++; + } + } + } + + return $input1; } \ No newline at end of file diff --git a/output/output.php b/output/output.php index 97cc4002..cf65c8ec 100644 --- a/output/output.php +++ b/output/output.php @@ -2566,6 +2566,23 @@ function saswp_schema_output() { break; + case 'VacationRental': + + $input1['@context'] = saswp_context_url(); + $input1['@type'] = 'VacationRental'; + $input1['@id'] = saswp_get_permalink().'#VacationRental'; + + $input1 = apply_filters('saswp_modify_vacation_rental_schema_output', $input1 ); + + $input1 = saswp_get_modified_markup($input1, $schema_type, $schema_post_id, $schema_options); + + if($modified_schema == 1){ + + $input1 = saswp_vacation_rental_schema_markup($schema_post_id, get_the_ID(), $all_post_meta); + } + + break; + default: break; diff --git a/output/service.php b/output/service.php index fe91a286..17ca1fb2 100644 --- a/output/service.php +++ b/output/service.php @@ -7309,6 +7309,97 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) $input1['subjectOf']['url'] = $custom_fields['saswp_tt_schema_sou']; } + break; + + case 'VacationRental': + if(isset($custom_fields['saswp_vr_schema_additional_type'])){ + $input1['additionalType'] = $custom_fields['saswp_vr_schema_additional_type']; + } + if(isset($custom_fields['saswp_vr_schema_brand'])){ + $input1['brand'] = $custom_fields['saswp_vr_schema_brand']; + } + $input1['containsPlace']['@type'] = 'Accommodation'; + if(isset($custom_fields['saswp_vr_schema_cpat'])){ + $input1['containsPlace']['additionalType'] = $custom_fields['saswp_vr_schema_cpat']; + } + if(isset($custom_fields['saswp_vr_schema_occupancy'])){ + $input1['containsPlace']['occupancy']['@type'] = 'QuantitativeValue'; + $input1['containsPlace']['occupancy']['value'] = $custom_fields['saswp_vr_schema_occupancy']; + } + if(isset($custom_fields['saswp_vr_schema_floor_value']) || isset($custom_fields['saswp_vr_schema_floor_uc'])){ + $input1['containsPlace']['floorSize']['@type'] = 'QuantitativeValue'; + $input1['containsPlace']['floorSize']['value'] = isset($custom_fields['saswp_vr_schema_floor_value'])?$custom_fields['saswp_vr_schema_floor_value']:''; + $input1['containsPlace']['floorSize']['unitCode'] = isset($custom_fields['saswp_vr_schema_floor_uc'])?$custom_fields['saswp_vr_schema_floor_uc']:''; + } + if(isset($custom_fields['saswp_vr_schema_total_bathrooms'])){ + $input1['containsPlace']['numberOfBathroomsTotal'] = $custom_fields['saswp_vr_schema_total_bathrooms']; + } + if(isset($custom_fields['saswp_vr_schema_total_bedrooms'])){ + $input1['containsPlace']['numberOfBedrooms'] = $custom_fields['saswp_vr_schema_total_bedrooms']; + } + if(isset($custom_fields['saswp_vr_schema_total_rooms'])){ + $input1['containsPlace']['numberOfRooms'] = $custom_fields['saswp_vr_schema_total_rooms']; + } + if(isset($custom_fields['saswp_vr_schema_identifier'])){ + $input1['identifier'] = $custom_fields['saswp_vr_schema_identifier']; + } + if(isset($custom_fields['saswp_vr_schema_latitude'])){ + $input1['latitude'] = $custom_fields['saswp_vr_schema_latitude']; + } + if(isset($custom_fields['saswp_vr_schema_longitude'])){ + $input1['longitude'] = $custom_fields['saswp_vr_schema_longitude']; + } + if(isset($custom_fields['saswp_vr_schema_name'])){ + $input1['name'] = $custom_fields['saswp_vr_schema_name']; + } + if(isset($custom_fields['saswp_vr_schema_country'])){ + $input1['address']['addressCountry'] = $custom_fields['saswp_vr_schema_country']; + } + if(isset($custom_fields['saswp_vr_schema_locality'])){ + $input1['address']['addressLocality'] = $custom_fields['saswp_vr_schema_locality']; + } + if(isset($custom_fields['saswp_vr_schema_region'])){ + $input1['address']['addressRegion'] = $custom_fields['saswp_vr_schema_region']; + } + if(isset($custom_fields['saswp_vr_schema_p_code'])){ + $input1['address']['postalCode'] = $custom_fields['saswp_vr_schema_p_code']; + } + if(isset($custom_fields['saswp_vr_schema_s_address'])){ + $input1['address']['streetAddress'] = $custom_fields['saswp_vr_schema_s_address']; + } + if(isset($custom_fields['saswp_vr_schema_rating_value'])){ + $input1['aggregateRating']['ratingValue'] = $custom_fields['saswp_vr_schema_rating_value']; + } + if(isset($custom_fields['saswp_vr_schema_rating_count'])){ + $input1['aggregateRating']['ratingCount'] = $custom_fields['saswp_vr_schema_rating_count']; + } + if(isset($custom_fields['saswp_vr_schema_review_count'])){ + $input1['aggregateRating']['reviewCount'] = $custom_fields['saswp_vr_schema_review_count']; + } + if(isset($custom_fields['saswp_vr_schema_best_rating'])){ + $input1['aggregateRating']['bestRating'] = $custom_fields['saswp_vr_schema_best_rating']; + } + if(isset($custom_fields['saswp_vr_schema_checkin_time'])){ + $input1['checkinTime'] = $custom_fields['saswp_vr_schema_checkin_time']; + } + if(isset($custom_fields['saswp_vr_schema_checkout_time'])){ + $input1['checkoutTime'] = $custom_fields['saswp_vr_schema_checkout_time']; + } + if(isset($custom_fields['saswp_vr_schema_description'])){ + $input1['description'] = $custom_fields['saswp_vr_schema_description']; + } + if(isset($custom_fields['saswp_vr_schema_knows_language'])){ + if(!empty($custom_fields['saswp_vr_schema_knows_language'])){ + $explode_lang = explode(',', $custom_fields['saswp_vr_schema_knows_language']); + if(!empty($explode_lang) && is_array($explode_lang)){ + foreach ($explode_lang as $el_key => $el_value) { + if(!empty($el_value)){ + $input1['knowsLanguage'] = $el_value; + } + } + } + } + } break; default: From 98c37c145316bce429e9a64d6bd8dbc7140b976a Mon Sep 17 00:00:00 2001 From: shridhamdeveloper Date: Thu, 22 Feb 2024 17:01:22 +0530 Subject: [PATCH 06/15] #2081 --- core/array-list/repeater-fields.php | 14 ++++++++++++-- core/array-list/schema-properties.php | 6 ++++++ output/markup.php | 3 +++ output/service.php | 4 ++++ 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/core/array-list/repeater-fields.php b/core/array-list/repeater-fields.php index dc91107a..3b9ae760 100644 --- a/core/array-list/repeater-fields.php +++ b/core/array-list/repeater-fields.php @@ -453,7 +453,12 @@ 'label' => 'Accepted Answer Author Name', 'name' => 'saswp_qa_accepted_author_name', 'type' => 'text', - ) + ), + array( + 'label' => 'Author URL', + 'name' => 'saswp_qa_accepted_author_url', + 'type' => 'text' + ) ), 'suggested_answer' => array( array( @@ -489,7 +494,12 @@ 'label' => 'suggested Answer Author Name', 'name' => 'saswp_qa_suggested_author_name', 'type' => 'text', - ) + ), + array( + 'label' => 'Author URL', + 'name' => 'saswp_qa_suggested_author_url', + 'type' => 'text' + ) ), 'howto_tool' => array( array( diff --git a/core/array-list/schema-properties.php b/core/array-list/schema-properties.php index dffd6f20..6530b150 100644 --- a/core/array-list/schema-properties.php +++ b/core/array-list/schema-properties.php @@ -7260,6 +7260,12 @@ function saswp_get_fields_by_schema_type( $schema_id = null, $condition = null, 'id' => 'saswp_qa_question_author_name_'.$schema_id, 'type' => 'text', ), + array( + 'label' => 'Author URL', + 'id' => 'saswp_qa_question_author_url_'.$schema_id, + 'type' => 'text', + 'default' => $author_url + ), array( 'label' => 'Answer Count', 'id' => 'saswp_qa_answer_count_'.$schema_id, diff --git a/output/markup.php b/output/markup.php index bb7d6b08..7fb97075 100644 --- a/output/markup.php +++ b/output/markup.php @@ -3697,6 +3697,7 @@ function saswp_qanda_schema_markup($schema_id, $schema_post_id, $all_post_meta){ } $input1['mainEntity']['author']['name'] = saswp_remove_warnings($all_post_meta, 'saswp_qa_question_author_name_'.$schema_id, 'saswp_array'); + $input1['mainEntity']['author']['url'] = saswp_remove_warnings($all_post_meta, 'saswp_qa_question_author_url_'.$schema_id, 'saswp_array'); $input1['mainEntity']['answerCount'] = saswp_remove_warnings($all_post_meta, 'saswp_qa_answer_count_'.$schema_id, 'saswp_array'); @@ -3724,6 +3725,7 @@ function saswp_qanda_schema_markup($schema_id, $schema_post_id, $all_post_meta){ } $supply_data['author']['name'] = $val['saswp_qa_accepted_author_name']; + $supply_data['author']['url'] = $val['saswp_qa_accepted_author_url']; } $answer_arr[] = $supply_data; @@ -3755,6 +3757,7 @@ function saswp_qanda_schema_markup($schema_id, $schema_post_id, $all_post_meta){ } $supply_data['author']['name'] = $val['saswp_qa_suggested_author_name']; + $supply_data['author']['url'] = $val['saswp_qa_suggested_author_url']; } $answer_arr[] = $supply_data; diff --git a/output/service.php b/output/service.php index 17ca1fb2..08374ce1 100644 --- a/output/service.php +++ b/output/service.php @@ -6190,6 +6190,10 @@ public function saswp_replace_with_custom_fields_value($input1, $schema_post_id) } $input1['mainEntity']['author']['name'] = $custom_fields['saswp_qa_question_author_name']; + + if(isset($custom_fields['saswp_qa_question_author_url'])){ + $input1['mainEntity']['author']['url'] = $custom_fields['saswp_qa_question_author_url']; + } } if(isset($custom_fields['saswp_qa_accepted_answer_text'])){ $input1['mainEntity']['acceptedAnswer']['@type'] = 'Answer'; From 527086af45a30c567332f86f8db408a67179737f Mon Sep 17 00:00:00 2001 From: shridhamdeveloper Date: Thu, 22 Feb 2024 18:35:38 +0530 Subject: [PATCH 07/15] #2082 --- view/post_specific.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/view/post_specific.php b/view/post_specific.php index 6392265d..1ca412a2 100644 --- a/view/post_specific.php +++ b/view/post_specific.php @@ -532,9 +532,7 @@ public function saswp_post_meta_box_fields($post){ if($schema_type == 'local_business'){ $schema_type_txt = 'Local Business'; } - if($schema_type == 'qanda'){ - $schema_type_txt = 'Q&A'; - } + $setting_options .= ''.saswp_t_string( $schema_type_txt.' schema is fetched automatically' ).'

'; $setting_options .= ''.esc_html( 'Modify '.$schema_type.' Schema Output' ).''; From a0d6cf2f3d5dc53a4974002eff09108aecd89200 Mon Sep 17 00:00:00 2001 From: shridhamdeveloper Date: Thu, 22 Feb 2024 18:36:16 +0530 Subject: [PATCH 08/15] #2081 --- output/markup.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/output/markup.php b/output/markup.php index 7fb97075..80b44737 100644 --- a/output/markup.php +++ b/output/markup.php @@ -3724,8 +3724,10 @@ function saswp_qanda_schema_markup($schema_id, $schema_post_id, $all_post_meta){ $supply_data['author']['@type'] = $val['saswp_qa_accepted_author_type']; } - $supply_data['author']['name'] = $val['saswp_qa_accepted_author_name']; - $supply_data['author']['url'] = $val['saswp_qa_accepted_author_url']; + $supply_data['author']['name'] = $val['saswp_qa_accepted_author_name']; + if(isset($val['saswp_qa_accepted_author_url'])){ + $supply_data['author']['url'] = $val['saswp_qa_accepted_author_url']; + } } $answer_arr[] = $supply_data; @@ -3756,8 +3758,10 @@ function saswp_qanda_schema_markup($schema_id, $schema_post_id, $all_post_meta){ $supply_data['author']['@type'] = $val['saswp_qa_suggested_author_type']; } - $supply_data['author']['name'] = $val['saswp_qa_suggested_author_name']; - $supply_data['author']['url'] = $val['saswp_qa_suggested_author_url']; + $supply_data['author']['name'] = $val['saswp_qa_suggested_author_name']; + if(isset($val['saswp_qa_suggested_author_url'])){ + $supply_data['author']['url'] = $val['saswp_qa_suggested_author_url']; + } } $answer_arr[] = $supply_data; From 19003e14bd3792239631df15b4fe1b4cfb96a98d Mon Sep 17 00:00:00 2001 From: shridhamdeveloper Date: Fri, 23 Feb 2024 10:47:26 +0530 Subject: [PATCH 09/15] #2079 --- modules/rating-box/frontend.php | 77 ++++++++++++++++++++++++--------- 1 file changed, 57 insertions(+), 20 deletions(-) diff --git a/modules/rating-box/frontend.php b/modules/rating-box/frontend.php index 94ea61ee..8654992d 100644 --- a/modules/rating-box/frontend.php +++ b/modules/rating-box/frontend.php @@ -289,26 +289,63 @@ public function saswp_rating_box_custom_style() { global $sd_data; if(saswp_global_option() && isset($sd_data['saswp-review-module']) && $sd_data['saswp-review-module'] == 1){ - // if(isset($sd_data['saswp-rating-module-css-app']) && $sd_data['saswp-rating-module-css-app'] == 1){ - $custom_css = ".saswp-rb-hd span, .saswp-rvw-sm span{ - background-color: {$sd_data['saswp-rbcc-review-bg-color']}; - color: {$sd_data['saswp-rbcc-review-f-color']}; - font-size: {$sd_data['saswp-rbcc-review-f-size']}{$sd_data['saswp-rbcc-review-f-unit']}; - } - .saswp-rb-rif{ - color: {$sd_data['saswp-rbcc-if-color']}; - font-size: {$sd_data['saswp-rbcc-if-f-size']}{$sd_data['saswp-rbcc-if-f-unit']}; - } - .saswp-rvw-str .saswp_star_color svg, .saswp-rvw-str .saswp_star_color_gray svg, .saswp-rvw-str .saswp_half_star_color svg{ - width: {$sd_data['saswp-rbcc-stars-f-size']}px; - } - .saswp-rvw-fs{ - color: {$sd_data['saswp-rbcc-ar-color']}; - font-size: {$sd_data['saswp-rbcc-ar-f-size']}{$sd_data['saswp-rbcc-ar-f-unit']}; - } - "; - wp_add_inline_style( 'saswp-style', $custom_css ); - // } + + $bg_review_color = ''; $review_f_color = ''; $review_f_size = ''; $review_f_unit = 'px'; + $review_if_color = ''; $review_if_size = ''; $review_if_unit = 'px'; + $review_if_color = ''; $review_if_size = ''; $review_if_unit = 'px'; + $stars_size = ''; + $review_ar_color = ''; $review_ar_size = ''; $review_ar_unit = 'px'; + if(isset($sd_data['saswp-rbcc-review-bg-color'])){ + $bg_review_color = esc_attr($sd_data['saswp-rbcc-review-bg-color']); + } + if(isset($sd_data['saswp-rbcc-review-f-color'])){ + $review_f_color = esc_attr($sd_data['saswp-rbcc-review-f-color']); + } + if(isset($sd_data['saswp-rbcc-review-f-size'])){ + $review_f_size = esc_attr($sd_data['saswp-rbcc-review-f-size']); + } + if(isset($sd_data['saswp-rbcc-review-f-unit'])){ + $review_f_unit = esc_attr($sd_data['saswp-rbcc-review-f-unit']); + } + if(isset($sd_data['saswp-rbcc-if-color'])){ + $review_if_color = esc_attr($sd_data['saswp-rbcc-if-color']); + } + if(isset($sd_data['saswp-rbcc-if-f-size'])){ + $review_if_size = esc_attr($sd_data['saswp-rbcc-if-f-size']); + } + if(isset($sd_data['saswp-rbcc-if-f-unit'])){ + $review_if_unit = esc_attr($sd_data['saswp-rbcc-if-f-unit']); + } + if(isset($sd_data['saswp-rbcc-stars-f-size'])){ + $stars_size = esc_attr($sd_data['saswp-rbcc-stars-f-size'].'px'); + } + if(isset($sd_data['saswp-rbcc-ar-color'])){ + $review_ar_color = esc_attr($sd_data['saswp-rbcc-ar-color']); + } + if(isset($sd_data['saswp-rbcc-ar-f-size'])){ + $review_ar_size = esc_attr($sd_data['saswp-rbcc-ar-f-size']); + } + if(isset($sd_data['saswp-rbcc-ar-f-unit'])){ + $review_ar_unit = esc_attr($sd_data['saswp-rbcc-ar-f-unit']); + } + $custom_css = ".saswp-rb-hd span, .saswp-rvw-sm span{ + background-color: {$bg_review_color}; + color: {$review_f_color}; + font-size: {$review_f_size}{$review_f_unit}; + } + .saswp-rb-rif{ + color: {$review_if_color}; + font-size: {$review_if_size}{$review_if_unit}; + } + .saswp-rvw-str .saswp_star_color svg, .saswp-rvw-str .saswp_star_color_gray svg, .saswp-rvw-str .saswp_half_star_color svg{ + width: {$stars_size}; + } + .saswp-rvw-fs{ + color: {$review_ar_color}; + font-size: {$review_ar_size}{$review_ar_unit}; + } + "; + wp_add_inline_style( 'saswp-style', $custom_css ); } } From dbefbfb014b9dece9a0effbf1f85fd2678e790be Mon Sep 17 00:00:00 2001 From: Sanjeev Kumar Date: Fri, 23 Feb 2024 11:28:23 +0530 Subject: [PATCH 10/15] #2083 --- output/function.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/output/function.php b/output/function.php index abaceeb7..93f7e113 100644 --- a/output/function.php +++ b/output/function.php @@ -691,7 +691,7 @@ function saswp_get_all_schema_markup_output() { $custom_output .= ''; } }else{ - $regex = '/ Date: Thu, 29 Feb 2024 14:54:04 +0530 Subject: [PATCH 13/15] #2084 --- modules/reviews/reviews_collection.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/modules/reviews/reviews_collection.php b/modules/reviews/reviews_collection.php index d8b080a4..141331d2 100644 --- a/modules/reviews/reviews_collection.php +++ b/modules/reviews/reviews_collection.php @@ -520,7 +520,9 @@ public function saswp_reviews_collection_shortcode_render($attr){ } if(isset($collection_data['saswp_platform_ids'][0])){ - $platform_id = unserialize($collection_data['saswp_platform_ids'][0]); + if(!empty($collection_data['saswp_platform_ids'][0]) && is_string($collection_data['saswp_platform_ids'][0])){ + $platform_id = unserialize($collection_data['saswp_platform_ids'][0]); + } } @@ -1029,8 +1031,10 @@ public function saswp_admin_collection_interface_render(){ Date: Thu, 29 Feb 2024 16:21:27 +0530 Subject: [PATCH 14/15] Changelog for 1.28 Changelog for version 1.28 --- readme.txt | 15 ++++++++++++++- structured-data-for-wp.php | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/readme.txt b/readme.txt index c47738cd..6c50bac1 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Tags: Schema, Structured Data, Google Snippets, Rich Snippets, Schema.org, SEO, Requires at least: 3.0 Tested up to: 6.4 Requires PHP: 5.6.20 -Stable tag: 1.27 +Stable tag: 1.28 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -121,6 +121,19 @@ You can contact us from [here](http://structured-data-for-wp.com/contact-us/) == Changelog == += 1.28 (29 Feb 2024) = + +* Enhancement: Implemented new LearningResource schema type #1789 +* Enhancement: Implemented new Vacationrental schema type #2068 +* Enhancement: Remove articleBody property from schema markup when it is empty #2070 +* Fixed: Resolved problem with DOM after filling data in the product schema #2073 +* Fixed: Added field "@id" in itemlist #2074 +* Fixed: Ratingbox Warning that appeared after latest update #2079 +* Enhacement: Author url is missing in QandA schema #2081 +* Fixed: Q&A Schema is not getting enabled and disabled on post page #2082 +* Fixed: Custom Schema markup breakage #2083 +* Fixed: Review collection PHP error on the user end #2084 + = 1.27 (17 Feb 2024) = * Feature: Added an option to edit/modify star rating box #1930 diff --git a/structured-data-for-wp.php b/structured-data-for-wp.php index 0258cd81..3beaf35a 100644 --- a/structured-data-for-wp.php +++ b/structured-data-for-wp.php @@ -2,7 +2,7 @@ /* Plugin Name: Schema & Structured Data for WP & AMP Description: Schema & Structured Data adds Google Rich Snippets markup according to Schema.org guidelines to structure your site for SEO. (AMP Compatible) -Version: 1.27 +Version: 1.28 Text Domain: schema-and-structured-data-for-wp Domain Path: /languages Author: Magazine3 @@ -13,7 +13,7 @@ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) exit; -define('SASWP_VERSION', '1.27'); +define('SASWP_VERSION', '1.28'); define('SASWP_DIR_NAME_FILE', __FILE__ ); define('SASWP_DIR_NAME', dirname( __FILE__ )); define('SASWP_DIR_URI', plugin_dir_url(__FILE__)); From 79d933277fcd9b16620523e14b4246a3be9b956b Mon Sep 17 00:00:00 2001 From: shridhamdeveloper Date: Fri, 1 Mar 2024 10:49:33 +0530 Subject: [PATCH 15/15] Updated readme.txt --- readme.txt | 1815 +--------------------------------------------------- 1 file changed, 2 insertions(+), 1813 deletions(-) diff --git a/readme.txt b/readme.txt index 6c50bac1..c106addc 100644 --- a/readme.txt +++ b/readme.txt @@ -1,6 +1,6 @@ === Schema & Structured Data for WP & AMP === Contributors: magazine3 -Tags: Schema, Structured Data, Google Snippets, Rich Snippets, Schema.org, SEO, AMP +Tags: Schema, Structured Data, Rich Snippets, SEO, AMP Requires at least: 3.0 Tested up to: 6.4 Requires PHP: 5.6.20 @@ -300,1815 +300,4 @@ You can contact us from [here](http://structured-data-for-wp.com/contact-us/) * Fixed: HTTP API call query monitor showing Cannot parse supplied IRI and 404 Not Found #1933 * Fixed: Pros/Cons option issue of Product Schema #1935 - -= 1.14 (08 May 2023) = - -* Fixed: A user wants to set a default image for the manually entered reviews #1237 -* Added: Need to add a Reviews Fetch support for this platform "wordofmouth.com.au" #1638 -* Fixed: Need to make functionality by default disable FAQ on all pages #1681 -* Added: Add SameAs field in TechArticle schema #1905 -* Fixed: Warnings showing in the schema #1908 -* Fixed: Author images are getting changed to featured images in the FAQ schema markup #1909 -* Fixed: Warning showing on the user website #1912 -* Fixed: Improvement required in Article and News Article schema person schema(Author & Editor) #1913 -* Fixed: WPML is not translating FAQ Module on frontend #1914 -* Fixed: Add option to disable default videoObject schema generated by SASWP #1915 -* Fixed: Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in #1917 -* Fixed: There is a bug while using WPML compatibility for the site navigation scheme. #1920 - - -= 1.13 (12 April 2023) = - -* Added: Need to add compatibility for "https://abia.com.au/" to fetch reviews #1827 -* Fixed: When we add the YouTube video through the elementor in the schema, the video is not showing in the rich result #1882 -* Fixed: Image Caption is not showing for inside Post Attachment Images #1893 -* Added: Add compatibility with the plugin PublishPress Authors #1894 -* Fixed: It says 404 page not found while adding the ID to the FAQ schema #1898 -* Fixed: PHP Notice: Undefined variable #1901 -* Fixed: Test with WP 6.2 and update readme.txt tested up to field #1903 - - -= 1.12 (27 March 2023) = - -* Fixed: Restoring schema post type from trash does not retain all data what it was earlier #1860 -* Fixed: PHP Recoverable Error: Uncaught exception 'ValueError' with message 'Path cannot be empty #1868 -* Fixed: When we install the Opn Payments plugin, schema seeting is not saving. #1881 -* Fixed: Getting fatal error due to Server crash #1887 -* Fixed: Fatal error while uploading .csv file in review section #1885 -* Fixed: Change the property "PostalCode" to "postalcode" as an error is occurring due to it #1883 -* Fixed: Issues with rank math compatibilty #1889 -* Added: Add Image Caption option to Newsarticle #1850 - - -= 1.11 (06 March 2023) = - -* Enhancement: Remove trailingslash from url and @id schema properties for all the schema types #1852 -* Enhancement: ScholarlyArticle #1854 -* Fixed: Platform Icon is missing in reviews list #1857 -* Fixed: Broke Webiste last version #1858 -* Fixed: Error after last update #1859 -* Enhancement: User want to user profile custom filed in schema #1865 -* Enhancement: An option to change breadcrumb homepage title #1847 -* Fixed: Getting fatal errors with PHP 8.0 #1866 -* Fixed: PHP Warning: Attempt to read property "ID" on bool in /app/web/wp-content/plugins/schema-and-structured-data-for-wp/output/output.php on line 3268 #1867 -* Fixed: Warnings appearing on the frontend #1869 -* Feature: Need to create an Itempage Schema. #1851 -* Fixed: Need to fix the error generated in Query Monitor #1819 -* Fixed: While using the schema plugin, there is an error in the query monitor plugin. #1875 -* Fixed: When a user creates a Google review and clicks on it, the google review link goes to the wrong URL #1876 - -= 1.10.1 (12 Feb 2023) = - -* Fixed: Broke Webiste last version #1858 -* Fixed: Platform Icon is missing in reviews list #1857 - - -= 1.10 (11 Feb 2023) = - -* Enhancement: Improvement required in Product schema #1848 -* Fixed: tempt to read property “ID” on null error #1820 -* Fixed: To remove HTML tags from schema #1832 -* Enhancement: Ultimate Block plugin compatibility issue #1828 -* Feature: Add new functionality to disable the Breadcrumbs schema on a specific post. #1831 -* Feature: Add new functionality to add the custom schema to the WordPress User. #1829 -* Fixed: Deprecated: Hook elementor/widgets/widgets_registered #1836 -* Enhancement: Add new functionality to fetch the author name from the taxonomy. #1839 -* Enhancement: In the WebPage schema, we should add a new property called inLanguage. #1840 -* Enhancement: tempt A new property called "Alternative Headline" should be added to the news article scheme. #1837 -* Fixed: When we use the boolean value for the directApply property in the job posting schema, that value should be automatically added to other job posts. #1845 -* Feature: Errors in video object schema #1841 -* Fixed: Product reviews are not geeting fetch #1838 -* Fixed: Need to fix the warnings in error log #1849 - -= 1.9.109.1 (17 Jan 2023) = - -* Added: Set no image modified value to remove image completely from schema markup #1834 -* Fixed: Attempt to read property “ID” on null error in php 8 #1833 - -= 1.9.109 (16 Jan 2023) = - -* Enhancement: Enable disable message update on page edit schema options on #1815 -* Fixed: When we add reviews for the services schema, they do not appear in the page sources. #1818 -* Enhancement: Organization schema fetching wrong details #1823 -* Fixed: Conflict issue with Power builder plugin #1822 -* Fixed: Gutenberg howto schema block breaks layout due to missing closing div #1824 -* Fixed: Remove 40% offer banner #1826 -* Feature: In the Event schema, add compatibility with the "EventIn" plugin #1825 -* Fixed: Need to remove trailingslashit from News Article schema #1830 - -= 1.9.108 (27 Dec 2022) = - -* Fixed: PHP notice generated Line: 3722 in admin_section/common-function.php #1813 -* Fixed: When a user creates a product review and clicks on it, the product review link goes to the wrong URL. #1812 -* Enhancement: Need to add some new schema types. ( AdvertiserContentArticle, AnalysisNewsArticle, AskPublicNewsArticle, BackgroundNewsArticle, OpinionNewsArticle, ReviewNewsArticle ) #1811 -* Enhancement: Collection UI Improvemnt #1809 -* Fixed: Fatal error on blank review collection creation #1806 -* Fixed: Product schema conflicts with the FAQ in the post section. #1803 -* Enhancement: Add compatibility with the plugin Bunyad AMP. #1799 - -= 1.9.107 (16 Dec 2022) = - -* Enhancement: Need to create an option of a green star in the collection #1791 -* Fixed: Reviews pro API key Activate button is not visible. #1797 -* Fixed: VideoObject schema is getting added even if only the "href" link is present. #1802 -* Fixed: Add videoobject schema only if video available option does not work. #1801 -* Fixed: When we create a collection and add the URL for the collection, it opens to the wrong URL. #1800 -* Fixed: Warning: Undefined variable #1805 - -= 1.9.106 (03 Dec 2022) = - -* Fixed: Remove the span Id from the Article schema. #1788 -* Fixed: FAQs are not shown in the classic editor front end. #1785 -* Fixed: There is an error while adding the productreview.com.au reviews. #1757 -* Fixed: Warning: Undefined variable $pagenow #1793 -* Enhancement: In the FAQ and HOW TO schemas, "about property" should be added. #1794 -* Fixed: Activate plugin wp-admin side crashes #1796 - -= 1.9.105 (28 Nov 2022) = - -* Fixed: php-8-deprecated-required-parameter #1781 -* Added: Non-critical warning appears when the video is added via a custom block. #1780 -* Fixed: After adding the featured image to the RSS feed, it is not working. #1774 -* Fixed: While using the YouTube video, there is an issue with the schema and it is found in the Query Monitor plugin. #1771 -* Enhancement: Need to add some property in the product scheme. #1778 -* Added: Getting the errors video page indexing on Google search console #1783 -* Added: Getting error notice when embeddeding a Vimeo/Youtube video #1784 -* Enhancement: BFCM internal offer #1786 - -= 1.9.104 (11 Nov 2022) = - -* Added: Need to create an About option in the Artical Schema.. #1761 -* Fixed: Deprecated Warning in PHP Version 8.0.13 #1763 -* Fixed: PHP Notice: Undefined index #1765 -* Fixed: The option "Business Type" under local business schema type is not visible anymore. #1766 -* Added: Divi builder with schema in duplicate content url ( video url ) and url is not valid #1770 -* Added: Nested custom field mapping does not work need to improve it. #1777 -* Fixed: Need to fix the warning in error log #1773 - -= 1.9.103 (21 Oct 2022) = - -* Added: Add the JobTitle field in author schema. #1685 -* Added: Need to Include parent category if only child category is marked. #1703 -* Added: Need to make functionality by default disable FAQ on all pages. #1681 -* Fixed: Option to modify "Author image URL" schema output manually in blogposting schema #1669 -* Fixed: Need to make the feature for enabling/disabling the image for the review collection. #1621 -* Added: Need to add option to edit ID in schema #1609 -* Fixed: Need to add the Attribute "DirectApply" to the JobPosting-schema #1599 -* Fixed: Add the option to edit editor URL manually in article schema. #1690 -* Added: Video object schema is automatically adding without even have videos in them #1754 -* Fixed: Getting PHP error messages after the update #1756 -* Fixed: Conflict issue with web stories(user specific issue) #1746 -* Added: Need to add additional fields in Article Schema #1752 -* Added: Add the "Heading-Tag" selection option in How To block schema. #1712 -* Fixed: Missing fields in the video object schema. #1758 -* Fixed: facing issue on Google Either \"contentUrl\" or \"embedUrl\" should be specified This is a non-critical issue. #1759 -* Added: PHP Notice: Undefined index #1760 -* Added: Warnings are appearing in the article schema if it is modified. #1762 - -= 1.9.102.1 (14 Oct 2022) = - -* Fixed: Video object schema is automatically adding without even have videos in them #1754 - -= 1.9.102 (13 Oct 2022) = - -* Fixed: While activating the Schema plugin, there is a fatal error #1751 -* Fixed: load more shouldn't be there in zero null condition #1736 -* Added: Need to change the word Json-LD from Video Object Schema. #1741 -* Fixed: How To schema UI alignment issue #1744 -* Fixed: Conflict issue with web stories(user specific issue) #1746 -* Added: Need to add additional fields in Article Schema #1752 - - -= 1.9.101.1 (01 Oct 2022) = - -* Fixed: PHP Fatal error: Uncaught Error: Undefined constant "SECURE_AUTH_COOKIE" in .../wp-includes/pluggable.php:928 #1749 - - -= 1.9.101 (30 September 2022) = - -* Added: Option for turn off( hide) the ordered and unordered item list in FAQ #1698 -* Added: Option in adding date format for reviews like 12 days ago #1713 -* Added: Option to remove version number from source code #1715 -* Added: Compatibility with Ultimate FAQ pro plugin #1719 -* Added: Integration to fetch reviews with Ultimate member plugin. #1724 -* Added: The "Pros and Cons Schema" for Reviews schema extension according to the new google guidelines. #1722 -* Added: Review section in software application schema #1734 -* Added: Backorder added in Product schema in availability #1735 -* Added: "saswp_default_manage_option_capability" filter #1739 -* Added: Default schema Json-LD created when not video schema type created for video pages #1742 -* Fixed: Multiple video objects on same page (bonus for handling pagebreaks) #1705 -* Fixed: Mylisting theme icon not showing when using our schema plugin #1731 -* Fixed: Fatal Error only for login users while using Event Schema Extension (User Specific) #1738 -* Fixed: Schema output button not working when we use Forminator plugin #1745 - - -= 1.9.100 (06 August 2022) = -* Added: Compatibility with Ultimate FAQ Pro -* Added: Compatibility with Showcase idx plugin -* Fixed: Unable to fetch all authors name in person schema. #1710 -* Fixed: "FAQ" and "HOW TO" blocks need improvement #1701 -* Fixed: Need to update for PHP version 8 #1718 - - -= 1.9.99 (15 July 2022) = - -* Fixed: Need to add the atttribute to the [saswp-breadcrumbs] to remove the post/page title from the displayed breadcrumbs in frontend #1697 -* Fixed: Modified data is not getting updated in EducationalOccupationalProgram Schema #1686 -* Fixed: Query monitor showing a PHP warning. #1688 -* Fixed: Person schema error. #1699 - -= 1.9.98.1 (26 May 2022) = - -* Fixed: Uncaught Error: Undefined constant “SECURE_AUTH_COOKIE” #1680 - - -= 1.9.98 (26 May 2022) = - -* Fixed: Call to undefined function wp_get_current_user in /admin_section/common-function.php 1827 -* Fixed: Fatal error with the plugin "modern events calendar" #1676 -* Fixed: Review form Captcha should not be in Sandbox #1672 -* Fixed: CSS Uses !important tag so I cannot override the value #1667 -* Fixed: In review CSV file Source URL should come on"Place ID" #1666 -* Fixed: Rating should show in Percentage of the videoGame schema. #1678 -* Added: Compatibility with Perfect Brands for WooCommerce #1671 -* Enhancement: Support email address changed #1675 - - -= 1.9.97 (09 May 2022) = - -* Fixed: PHP Deprecated: _content_template is deprecated since version 2.9.0 #1643 -* Fixed: Conflict with Jupiter theme #1664 -* Fixed: Issue with the rating module: The star rating minimum should be 1 #1650 -* Fixed: The auto-fill feature in the AudioObject Schema does not function for several fields. #1651 -* Fixed: Issues regarding License Key (n extension manager plugin is showing active however in review section it is showing expired.) #1652 -* Fixed: Issues related to sorting of activated plugin (Those plugins which are activated should automatically come on top). #1653 -* Fixed: Disable Schema on Post Category is not working #1656 -* Fixed: PHP warnings showing in error log #1661 -* Fixed: Structured data warnings in search console regarding missing field in Apartment schema #1662 -* Enhancement: JSON_UNESCAPED_UNICODE added to json_encoding #1659 - - -= 1.9.96 (13 April 2022) = - -* Fixed: Remove double slash in links from Reviews Badge #1631 -* Fixed: PHP Deprecated: _content_template is deprecated since version 2.9.0 #1643 -* Enhancement: Made PerformerIn Offers Availibility selection is optional #1644 -* Added: Compatibility with Brands for Woocommerce #1646 - - -= 1.9.95 (28 Mar 2022) = - -* Fixed: Activation of the plugin is causing structure displacement on the website in Admin view. #1637 -* Fixed: Deprecated: WC_Product::get_price_including_tax warning on product page #1627 -* Fixed: Service schema not displaying all fields #1617 -* Enhancement: IDX integration updated #1626 -* Enhancement: Remove old data tracking method and add new system to get user feedback #1623 -* Added: Compatibility with EventON Lite plugin (https://wordpress.org/plugins/eventon-lite/) #1624 -* Added: Compatability with Real Estate 7 WordPress Theme #1619 - - -= 1.9.94 (18 Feb 2022) = - -* Fixed: Access assigning option to SEO manager and SEO editor not working #1616 -* Fixed: Search box not working when adding testimonials to collection #1612 -* Fixed: Schema Type can't be saved on Wordpress 4.6.3 #1611 -* Fixed: Conflicting with videopro Theme by CactusThemes #1608 -* Fixed: Plugin tested upto the new WordPress version 5.9 -* Enhancement: Changes in saswp_get_the_title() function to consider multi byte languages #1613 - -= 1.9.93 (10 Jan 2022) = - -* Fixed: Showing Fatal Error when activate jetpack #1589 -* Fixed: Causing Undefined index error #1586 - - -= 1.9.92 (15 Dec 2021) = - -* Added: Combine product reviews and reviews added from collection and show in rich results. #1584 - - -= 1.9.91 (06 Dec 2021) = - -* Added: worstRating property to review schema #1564 -* Added: Plcae ID finder in Reviews For Schema below Google platform #1466 -* Added: Language parameter added to google review fetch -* Fixed: Howto schema showing aggrigate ratings, rating coming from elementor. #1465 -* Fixed: Remove minute from recipe schema Gutenberg block in the serving section. #1577 -* Fixed: WPML compatibility is not working for aboutpage, contactpage and sitenavigation schema. #1575 - - -= 1.9.90 (01 Dec 2021) = - -* Fixed: Service schema tab missing to enter details #1568 -* Added: arrivalBoatTermina, arrivalTime, departureBoatTerminal and departureTime in BoatTrip schema #1460 -* Added: Added cusrev.com review platform #1569 -* Fixed: SKU was not being added in Arabic language #1574 - - -= 1.9.89 (16 Nov 2021) = - -* Fixed: Yet Another Star Rating Premium isn't getting its LD+Json stripped out #1562 -* Fixed: Enabling elementor testimonial causing product failing in schema #1559 -* Added: The salary range like ( €3300 - €3600 ) in job posting schema. #1558 -* Added: dateCreated property to webpage schema #1543 - - -= 1.9.88 (03 Nov 2021) = - -* Added: An option called "Specific" in the Sorting Filter for Collection feature. #1472 -* Added: Support for SeekToAction in Video Object Schema #1498 -* Added: Support for video object in How to schema. #1513 -* Added: textarea or multiline support for the description. #1456 -* Added: reviewbody and actor properties to Review Schema -* Added: Two properties(Latitude, Longitude) for ApartmentComplex schema #1524 -* Added: The number of votes each comment has received in the structured data #1523 -* Fixed: Issue with Yell an Yellowpages fetched reviews in collection #1534 -* Fixed: Schema add empty review array to the code #1557 -* Fixed: Invalid author type for review when product individually modified #1556 - - -= 1.9.87 (23 Oct 2021) = - -* Fixed: Invalid object type for field “author” #1552 -* Fixed: License link improvement #1539 -* Fixed: QandA Schema activation issue on SASWP #1547 -* Added: Support for All-in-Once SEO plugin v.4 fields #1528 -* Enhancement: Need add 'US' date format in reviews section. #1540 - - -= 1.9.86.1 (20 Oct 2021) = - -* Fixed: Empty FAQPage schema #1549 - - -= 1.9.86 (18 Oct 2021) = - -* Fixed: Undefined index _mbdb_isbn in other-schema.php #1545 -* Fixed: css issue of star ratings in comment form with Neptune by Osetin Theme. #1476 -* Fixed: Woocommerce-Product priceValidUntil #1537 -* Fixed: Debug log Errors #1536 -* Fixed: Images are not displaying while fetching the reviews [oneflare]. #1544 -* Added: Dynamic Aggregate Rating #1393 -* Added: More properties to Person Schema #1366 -* Added: An option to Set variable product as simple product #1291 -* Added: Need to show the review text in the review list #1344 -* Added: Enfold Theme compatibility #1530 -* Added: Schema blocks (FAQ & HowTo) for classic editor #1362 -* Added: The condition to fetch GTIN or SKU of the product on woocommerce compatibility for schema. #1531 - - -= 1.9.85 (24 Sept 2021) = - -* Fixed: Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable|array, null given #1533 -* Fixed: Notice: wp_enqueue_script() was called incorrectly. "wp-editor" script should not be enqueued together with the new widgets editor (wp-edit-widgets or wp-customize-widgets). #1527 -* Fixed: Deprecated: block_categories is deprecated since version 5.8.0! Use block_categories_all instead. #1529 -* Fixed: Product image URL is coming same for all the products listed under product category page. #1514 -* Added: An option to keep full headline without removing words #1516 - - -= 1.9.84 (15 Sept 2021) = - -* Fixed: Conflict with Impreza theme #1521 -* Fixed: Conflict issue with content view plugin. #1501 -* Fixed: PHP Notice: Undefined offset #1519 -* Fixed: Issue with Imported Schema Settings #1522 -* Added: Shortcode to render breadcrumbs. Use the shortcode [saswp-breadcrumbs] #1497 - - -= 1.9.83.1 (31 Aug 2021) = - -* Fixed: Debug log errors #1508 -* Fixed: Last update(1.9.83) break other plugin shortcode functionality #1510 -* Fixed: Variable Product Price does not take price with Vat #1467 -* Fixed: Conflict with yoast faq in gutenberg block #1496 -* Fixed: Conflict with “YITH WooCommerce Customize My Account Page” plugin #1507 - - -= 1.9.83 (10 Aug 2021) = - -* Fixed: when "Add Schema Markup in footer" checked breadcurm does not work properly #1477 -* Fixed: Item list heading are not working if the content generating from shortcode #1494 -* Fixed: Compatibility issue with SmartCrawl plugin #1490 -* Fixed: Error in Article schema #1486 -* Fixed: getting image warning after placing the image also (image: 91 (The value provided for image must be a valid URL.)) #1470 -* Fixed: License Key {Fatal Error}- Reviews for Schema #1473 -* Fixed: css issue of star ratings in comment form with Neptune by Osetin Theme. #1476 -* Added: Auto Listings Plugin integration #1493 -* Fixed: conflict with popup maker when schema enabled #1495 -* Fixed: Article category("Thing" is not a known valid target type for the publisher property) #1474 - - -= 1.9.82.2 (28 July 2021) = - -* Added: Feefo reviews ( https://www.feefo.com ) platform -* Fixed: Error on product category pages #1492 -* Fixed: Uncaught Error: Call to undefined function saswp_post_exists() #1485 - - -= 1.9.82.1 (16 July 2021) = - -* Fixed: Call to undefined function ampforwp_saswp_get_the_ID() #1483 -* Fixed: Fatal error: Uncaught Error: Call to undefined method WC_Product_Simple::get_available_variations() #1481 - - -= 1.9.82 (15 July 2021) = - -* Added: Option to show LocalBusiness as page content using shortcode, Gutenberg block and widget. -* Added: Job Training Schema type #503 -* Added: Recipe Schema Block #164 -* Added: Support for structure data on taxonomies page #983 -* Added: Author type option for accepted answer and suggested answer in the Q&A schema #1469 -* Added: The support of ACF repeater fields for HowTo and FAQ schema #1163. -* Fixed: Conflict Issue with Popup maker plugin #1478 -* Fixed: Debug Warnings #1471 -* Fixed: Improve pagination for the review widget #1042 - - -= 1.9.81 (04 JULY 2021) = - -* Fixed: Google review page redirect to wrong url, it should redirect to Google review page url. #1457 -* Fixed: When the “Defragment Schema Markup” option is enabled knowledge graph markup is displaying on the category post and pages. #1455 -* Fixed: Microdata cleaner option does not remove single itemtype, itemprop #1463 -* Fixed: Remove the cause property in the Medical condition schema type #1462 -* Fixed: Errors in NewsArticle (The property 2 is not recognised by the schema) #1468 -* Added: Google Shopping reviews platform #1448 - -= 1.9.80 (23 Jun 2021) = - -* Fixed: Item name mismatches when We try to activate "1-Click Indexing API Integration" extension. #1454 -* Fixed: Validation error in GSC: Unparable structured data (incorrect value type) #1452 -* Fixed: Availability should have full string like what mentioned in google example. Such as "https://schema.org/InStock" #1453 -* Fixed: Recipe schema's properties should be in proper order #1450 -* Added: Schedule property to Event schema #1044 -* Added: Author placement option #1281 -* Added: Book Guteberg block #930 -* Added: Creative Work schema #1204 -* Added: Visual Artwork schema #1377 -* Added: Integration with multi-currency plugin for woocommerce. #1160 - - -= 1.9.79 (15 Jun 2021) = - -* Fixed: Bark reviews do not redirect to their origin reviews url #1445 -* Fixed: If schema types are set up in different languages as per polylang the schema is not loading correctly #1449 -* Fixed: Need to fetch the reviews which is present on the page when schema is modified on the page/post or in the respective schema type #1442 -* Added: LegalName properties to KnowledgeGraph Organization schema #1443 -* Added: Need option for enabling/disabling the extra image generation process by saswp #1439 -* Added: An option to enable disable woocommerce Archive schema #1441 -* Added: Option for Removal of automatically generated thumbnails by SASWP #1438 -* Added: birthPlace, deathDate, familyName, Spouse, Instagram and Snapchat properties to Person Schema #1275 -* Added: AcquireLicensePage property to ImageObject schema #1446 -* Added: Jumblinks to sections in Advanced tab #832 -* Added: Compatibility with Mooberry Book Manager ( https://wordpress.org/plugins/mooberry-book-manager/ ) #1440 -* Added: Compatibility with Novelist ( https://wordpress.org/plugins/novelist/ ) #1440 - - -= 1.9.78 (09 Jun 2021) = - -* Added: freelancer.com review platform. #1342 -* Added: Upwork review platform. #1189 -* Added: Airbnb Experiences review platform. #824 -* Added: solarquotes.com.au review platform. #1207 -* Added: serviceseeking.com.au review platform. #1208 -* Added: productreview.com.au review platform. #1183 -* Added: styleseat.com review platform. #1231 -* Added: mariage.net review platform. #1196 -* Added: zankyou.com review platform. #1196 -* Added: oneflare.com.au review platform. #1209 -* Added: hipages.com.au review platform. #1210 -* Added: Shopper Approved (product) review platform. #1079 -* Added: Carousel feature for the grid layout of the collection #1345 -* Added: Pagejumps to FAQ questions #1058 -* Added: Feature support for polylang extension with schema #1431 -* Fixed: PHP Fatal error: when "Data types for Adventure Tours theme" plugin activated. #1437 -* Fixed: Additional properties are not rendering for a simple product type #1433 - -= 1.9.77 (29 May 2021) = - -* Added: Created an option to add schema for a selected language. [Polylang addon] #1425 -* Added: Option to disable contact or about page schema #1428 -* Added: aggregateRating property in service schema #1395 -* Added: Add makeoffer and its sub fields in local business schema type #1379 -* Fixed: If anyone click on reviews,it should be redirect to reviews page. #1426 -* Fixed: Angie's List Reviews Integration. #863 -* Fixed: Issue with H3 tag in FAQ (SASWP) #1432 -* Fixed: WPML Translatater Not Working with our Schema [WPML Adon] #1427 -* Fixed: ProfilePress plugin and newsgem are loading select2 on schema admin panel which cause conflict #1434 - -= 1.9.76 (25 May 2021) = - -* Added: An option for changing the FAQ (SASWP) text to H1 H2 H3 #1382 -* Added: Tutorial Links in every review platform fetch section. #1351 -* Added: bidvine.com review platform. #1341 -* Added: bark.com review platform. #1342 -* Added: Apple Podcasts review platform. #1334 -* Added: advieskeuze.nl review platform. #1419 -* Added: Add Support for WP GraphQL plugin ( https://wordpress.org/plugins/wp-graphql ) #1343 -* Fixed: Event validation issue with Event manager plugin #1422 -* Fixed: Compatibility issue: Error in FQA schema, setup by Yoast gutenberg block #1423 - -= 1.9.75 (18 May 2021) = - -* Fixed: When the Polylang plugin is active with the front page setup, placement is not working properly. #1420 -* Fixed: Reply to the comment not be counted as a separate rating review count #1416 -* Fixed: Incompatibility with AMP plugin after releasing of new version of AMP #1413 -* Added: ProviderMobility property for Services schema. #1418 - -= 1.9.74 (15 May 2021) = - -* Fixed: Custom schema's data is not cleared when the post/page is updated. #1411 -* Fixed: php8.0.3 incompatability #1409 -* Fixed: Product ID Error: Added empty array which cause invalid Json-LD error #1407 -* Fixed: "Thumbnail URL" data is not fetched automatically in VideoObject schema #1405 -* Fixed: EmbedUrl property has error( value url) in the video object schema for specific content #1402 -* Fixed: Shortcode should be rendered its value when present in faq content #1404 -* Fixed: Fatal error: Uncaught Error: Call to a member function get_bookings() on null in event-schema-for-saswp/output/service.php:8 #1410 -* Added: A custom field on each page individually in the Woocommerce product categories to add custom Json-LD. #1400 -* Added: Compatability with YITH google product feed and product feed pro #1408 - -= 1.9.73 (07 May 2021) = - -* Added: ID property in the product schema. #1376 -* Added: Enter multiple jobLocation with an array on individual post #1373 -* Added: applicantLocationRequirements and jobLocationType properties to JobPosting #1373 -* Added: Option to select the default value for star rating option #1386 -* Added: Brand URL, Brand Logo, and Brand Image properties to Product Schema #1390 -* Fixed: If a user enter any time format in a custom advanced field, it should be automatically converted to ISO format recommended by schema.org #1378 -* Fixed: Need to show the title URL under the suggested answer for the Q&A schema. #1391 -* Fixed: Inf and NaN cannot be JSON encoded #1399 -* Fixed: "Thumbnail URL" and "Duration" field data are not fetching automatically. #1389 - - -= 1.9.72 (30 April 2021) = - -* Fixed: The reply to review should not be counted as a separate review count #1392 -* Fixed: Escaping of html in json string missing for FAQ schema which cause invalid json issue #1388 -* Fixed: Warning: htmlspecialchars() expects parameter 1 to be string, array given in /output/gutenberg.php #1385 -* Added: Compatibility with WP Review Slider Pro (Premium) plugin #1387 - -= 1.9.71 (17 April 2021) = - -* Fixed: Schema type is not displaying in the schema block when the site page builder plugin is activated. #1381 -* Fixed: Image is not being in output for LocalBusiness schema #1375 -* Added: Compatability support for Jetpack Recipes #1380 -* Added: Review support with clutch.co #1357 - -= 1.9.70 (07 April 2021) = - -* Fixed: Stop creation of empty custom fields for product pages #1368 -* Fixed: Bad escaping sequence in json-ld for faq block #1371 -* Fixed: Search Console Problems with Videos #1363 -* Added: "Summary" key word in the Translation panel. #1370 -* Added: editor property in the article schema. #1369 -* Added: Compatible with CMP – Coming Soon & Maintenance Plugin by NiteoThemes ( https://wordpress.org/plugins/cmp-coming-soon-maintenance ) #1367 - - -= 1.9.69 (24 March 2021) = - -* Added: Featured image in feed while using Summary option #1355 -* Fixed: Wrong output is coming for the "Cafe and Coffee Shop" schema type #1358 -* Fixed: The property type is not supported for an object of this type. #1359 -* Enhancement: Improve the "Photograph" schema type markup for the AMP Stories #1356 - -= 1.9.68 (18 March 2021) = - -* Fixed: Call to undefined function wp_get_current_user in /admin_section/settings.php(4060) #1347 -* Fixed: JobPosting Schema is not showing after modifying on post individually. #1349 -* Fixed: Warning: one of contentUrl or embedUrl must be provided warning. #1348 -* Fixed: Warning: Undefined variable $hook in \admin_section\settings.php on line 4108 #1346 -* Fixed: Collection page(Archive) schema is not being generated for "tag" pages. #1339 -* Fixed: Conflict with the forminator plugin #1340 -* Fixed: Warning: Undefined array key #1350 -* Fixed: Fatal error: Uncaught TypeError while saving post when WPGraphQL plugin is active #1352 -* Added: More EmplymentType option inside JobPosting Schema #1353 - -= 1.9.67 (09 March 2021) = - -* Fixed: Fatal error occuring, when trying to activate elemtor plugin along with the saswp plugin(While using PHP 8 versioin) #1336 -* Fixed: Value for the Image Field is required in service schema #1337 -* Added: WorksFor Property added to Person schema #1145 -* Added: Photograph and ImageGallery schema #790 -* Added: TaxiService Schema #1083 -* Added: BoatTrip schema #1135 - - -= 1.9.66 (06 March 2021) = - -* Added: Compatibility with Rate My Post plugin ( https://wordpress.org/plugins/rate-my-post/ ) #378 -* Added: Two fields for the JobPosting schema type ( Job Immediate Start & Geo Coordinates ) #1331 -* Added: Colour property in product schema #920 -* Fixed: Warning: Undefined array key #1332 - -= 1.9.65 (02 March 2021) = - -* Fixed: The script tag contains invalid JSON that cannot be parsed. #1328 -* Fixed: Service schema type's Image field is missing. #1329 -* Added: Vehicle schema type #629 - -= 1.9.64 (23 Feb 2021) = - -* Added: Import reviews from CSV file #1128 -* Added: Sorting on reviews date column #1320 -* Added: Compatibility with the Ryviu – Product Reviews for WooCommerce ( https://wordpress.org/plugins/ryviu ) plugin. #1244 -* Fixed: Undefined property: WP_Error::$name in /admin_section/structure_admin.php on line 1322 #1325 - -= 1.9.63.1 (17 Feb 2021) = - -* Fixed: Fatal error: Uncaught ArgumentCountError: Too few arguments to function saswp_reviews_service::saswp_review_desing_for_slider() #1323 -* Fixed: Remove extra slash from potentialAction property of website schema #1321 - -= 1.9.63 (16 Feb 2021) = - -* Fixed: Filling up error log with PHP errors #1319 -* Fixed: wpDiscuz Comments on schema enabled pages are showing with HTML tags for bold/italic words #1317 -* Fixed: Sitelinks search box potentialAction property does not get correct url in polylang multilanguage site #1321 -* Added: An option to change the date format for the reviews showing through the collection #1307 -* Added: An image filed option in the recipe instruction. #1313 -* Added: Compatability with WP eCommerce ( https://wordpress.org/plugins/wp-e-commerce/ ) #1315 - - -= 1.9.62 (10 Feb 2021) = - -* Fixed: Change the 'type' of brand to Brand or Organization from Thing #1312 -* Fixed: Aggregate rating markup is not displaying when we add the data through the custom fields. #1310 -* Fixed: Service Schema Image Issue #1304 -* Fixed: PHP warning and error “Parameter must be an array or an object…” #1314 -* Fixed: rtrim expects parameter 1 to be string, object given #1316 -* Fixed: Validation issues with "HTML5 Responsive FAQ" plugin #1302 -* Fixed: URL property on the category page is not correct in the schema markup(creativework series schema) instead it is rendering the first post URL on that category page. #1157 -* Fixed: Rating message is not looking good #1164 -* Added: Youtube field option in the person schema. #1311 -* Added: Markup for autos (Car Schema) #1305 -* Added: Compatibility with WP Review Pro #1139 -* Enhancement: When yoast compatibility is on then breadcrumb should take category according to yoast #1308 - - -= 1.9.61 (28 Jan 2021) = - -* Fixed: The field to enter the license key is not showing after activating the "FAQ Schema Compatibility" plugin. #1303 -* Fixed: Warning error showing in the search console for the blogposting schema, if the user is modifying the schema type #1301 -* Fixed: Review date alignment is incorrect #1300 -* Fixed: Schema Organization adding latest post markup on Homepage #1288 -* Fixed: The warning error showing for the woocommerce products archive pages for the offer and description field #1290 -* Fixed: Author Field Issue for Webpage schema if "modify schema output" option is used in Post/page #1289 -* Fixed: Judge.me reviews are not updating in backend. #1232 -* Fixed: Fix the tabs so it's viewable in 1280 res screen #1299 -* Fixed: when we click on Logo setup notice, nothing happens #1297 -* Added: An option to add or remove category in breadcrumb #1292 -* Added: Compatible with wpqa-builder plugin( https://2code.info/wpqa-builder/ ) #1293 -* Added: Compatible with Business Reviews Bundle plugin( https://richplugins.com/business-reviews-bundle-wordpress-plugin ) #1225 -* Added: "Review Usage" box in review edit section. #1294 -* Enhancement: Remove "view post" from reivew custom post type #1295 -* Enhancement: Name should be vertically middle in review list page #1296 - - -= 1.9.60 (15 Jan 2021) = - -* Fixed: The HTML tags are showing in the review box #1286 -* Fixed: If the"Product Default Review" option is enabled then the "Unspecified type"showing as the schema type #1268 -* Fixed: The arrow buttons in the gallery module of reviews(collection) are not working properly. #1272 -* Fixed: Reviews are not fetching. #1282 -* Fixed: Remove Divi builder unnecessary code from content #1271 -* Added: Re-captcha feature on the rating forms. #1257 -* Added: Compatible with webstories ( https://wordpress.org/plugins/web-stories/ ) #1267 - - -= 1.9.59 (06 Jan 2021) = - -* Fixed: The tax amount is not adding in the price field in the schema markup #1283 -* Fixed: The reviews added in the collection are not showing in correct sorting format in the frontend #1264 -* Fixed: When Elementor Testimonial compatibility is selected, local business schema type is missing its type(unspecified Type) #1270 -* Fixed: Trying to get property ‘post_parent’ of non-object #1279 -* Fixed: Image property is missing from BlogPosting schema #1277 -* Fixed: If the Valid through is empty in modify schema output it does not allow job posting to display #1276 -* Fixed: VideoObject is causing a validation error in AMP #1280 -* Fixed: Warnings and notices #1274 -* Enhancement: Remove special offer banner #1284 - - -= 1.9.58 (10 Dec 2020) = - -* Fixed: Display created schema title instead of schema type in post modified tabs #1266 -* Fixed: Unable to insert media images into post- conflict with Power builder by Templatemonster #1263 - -= 1.9.57 (05 Dec 2020) = - -* Fixed: The price field not getting the taxable value for the product schema #1259 -* Fixed: inLanguage property is absent from NewsArticle and Article schema types? #1260 -* Fixed: Review schem mark up is not being fetched form the review collectioin badge type #1261 -* Fixed: If the "WPMU DEV SEO" plugin is active then showing the JS error in the console #1262 -* Added: Rating column in comments list when Stars Rating is enabled in the default comment form #1049 - - -= 1.9.56 (25 Nov 2020) = - -* Added: option to add and remove single review in the collection #1239 -* Added: Industry and OccupationalCategory properties to JobPosting schema #1255 -* Added: Special banner for the Black Friday #1249 -* Fixed: Review checkbox not showing on private page #1254 -* Fixed: Homepage shows review and FAQ schema but both the schema's have been appiled to the post that is on the homepage and not on the homepage itself. #1243 - - -= 1.9.55 (23 Nov 2020) = - -* Fixed: ERROR: Image elements do not have explicit width and height,in light house test of perfomance. #1236 -* Fixed: rtl issue with stars #1233 -* Fixed: Error: Image elements do not have [alt] attributes, in light house test of accessibility #1235 -* Fixed: Issue - trying to get property ‘ID’ of non-object #1247 -* Fixed: Judge.me reviews are not updating in backend. #1232 -* Fixed: Image resizer is not working on multilingual site after last 2 updates #1246 -* Fixed: Undefined index: extension in /core/3rd-party/aqua_resizer.php on line 175 #1252 -* Fixed: Undefined offset: 0 in /output/output.php:164, /output/function.php:252 and /output/function.php:117 #1245 -* Added: Compatibility with Review testimonials Elementor widget #324 -* Added: Placement feature in Collections #1234 -* Added: Attribute `rel="noopener"` for google review grid #1242 -* Added: Compatibility with Rating Form ( https://codecanyon.net/item/rating-form/10357679 ) #422 -* Enhancement: Added Option to optimize images in separate folder. #1251 - - -= 1.9.54.1 (11 Nov 2020) = - -* Added: Image missing in AMP after last update #1220 - -= 1.9.54 (10 Nov 2020) = - -* Added: Rest api to show the headless output #1026 -* Added: Article body and Article Section properties to webpage schema #1147 -* Added: bookformat and inlanguage properties to Book Schema #1143 -* Added: Separate folder (schema-and-structured-data-for-wp) in uploads to store all resized images by this plugin. #807 -* Added: A notice box has been added, if logo is not set. #1165 -* Added: Compatibility with Meta Tag Manager ( https://wordpress.org/plugins/meta-tag-manager/ ) -* Fixed: Warning Error: The text tag script type=application/ld+json contains html comments, which is disallowed #1140 -* Fixed: Woocommerce category schema has an issue when reviews collection is present #1182 -* Fixed: Excessive number of queries at each page load in admin pages #1227 -* Fixed: Issue with the image size when user inserting recipe by using WP recipe maker plugin. #1159 - - -= 1.9.53 (02 Nov 2020) = - -* Added: Support for "low price" and "high price" properties of the product schema #1133 -* Added: NutritionInformation all properties such as ( servingSize, fatContent, saturatedFatContent etc. ) in Recipe Schema #1070 -* Added: Properties ( employee & alumni ) in RealEstateAgent schema type. #1053 -* Added: Generate an id for the comment markup. #1057 -* Added: Price Range to the Service schema #1088 -* Added: License property for ImageObject Schema #1190 -* Added: Allow users to change the author from a person to an organization #749 -* Fixed: Undefined index: wpdiscuz plugins\schema-and-structured-data-for-wp\admin_section\common-function.php on line 3054 #1228 - - -= 1.9.52 (26 Oct 2020) = - -* Fixed: When city names added manually by separating with comma, in store schema, in output of schema markup all city name are showing as one value in areaServed property #1217 -* Fixed: Item list schema is getting generated on the product category pages even though the Archive option is unchecked. we need to connect it to that option. #1177 -* Fixed: When we click on avvo icon it redirecting to homepage (Reviews for Schema). #1216 -* Fixed: Fatal error: Uncaught Error: Call to undefined function mptt_get_event_data () #1222 -* Fixed: User ID Missing issue when fetching the "AVVO" reviews. #1187 -* Added: gtin12 property in product schema #1054 - - -= 1.9.51 (15 Oct 2020) = - -* Added: Option to show VideoObject json-LD, Only if video is available on the post #1197 -* Added: Compatibility with Slim SEO ( https://wordpress.org/plugins/slim-seo/ ) #1214 -* Added: Compatibility with Comments – wpDiscuz ( https://wordpress.org/plugins/wpdiscuz/ ) #1203 -* Fixed: Facebook user profile picture not showing #1170 -* Fixed: The attribute 'href' may not appear in tag 'span' validation issue when the "Show form on button tap" shortcode is enabled #1192 -* Fixed: The Paywall functionality of the NewsArticle schema is not updating if the ACF Pro plugin is active #1195 - - -= 1.9.50 (08 Oct 2020) = - -* Fixed: Schema plugin option panel not saving if the Norebro theme is active #1212 -* Fixed: Duration is not detecting in the video object schema. #1202 -* Fixed: Display the right message after the user tries to fetch reviews. -* Fixed: The field to enter the license key for the Job Posting schema plugin is not showing when it is active #1213 -* Fixed: HTML tags should not get strip form the description propety of the job posting schema type #1211 -* Fixed: Review count is showing as a minus value: Maximum Reviews Limits -10 #1201 -* Fixed: CLUTCH reviews - Displays message "Something went wrong while preparing database. #1198 -* Added: Compatibility with the "Ranna – Food & Recipe Blog Theme. #1206 - -= 1.9.49.1 (15 Sept 2020) = - -* Fixed: Image size smaller than recommended" warnings in search console for the version 1.9.48 and above. #1200 - -= 1.9.49 (03 Sept 2020) = - -* Fixed: The property 0 is not recognized by Google for an object of type ImageObject. #1188 -* Fixed: The publisher attribute is adding two times in the Article schema markup #1186 -* Fixed: Unable to fetch reviews. #1185 - - -= 1.9.48 (25 Aug 2020) = - -* Fixed: Placement condition page template is not working. #1166 -* Fixed: Need to show unit of the time in the time required value in the NewsArticle schema #1156 -* Fixed: Getting fatal error on the single post/page,conflict with the seopress in the specific use case. #1146 -* Fixed: Fatal error: Uncaught Error: Call to undefined function fifu_amp_url() in /core/3rd-party/aqua_resizer.php:334 #1155 -* Fixed: The Tripadvisor reviews are not fetching at user end. #1167 -* Fixed: html comments is rendering in the schema markup and causing a validation error in article schema #1169 -* Fixed: Users unable to fetch reviews #1162 -* Added: "additionalType" and "ServiceOutput" properties in service schema #1148 - - -= 1.9.47 (13 Aug 2020) = - -* Fixed: Warning: getimagesize(): corrupt JPEG data: 8 extraneous bytes before marker in aqua_resizer.php on line 144 #1134 -* Added: HighPrice & LowPrice properties for the Event Schema #431 -* Added: Event schema 3rd party compatibility ( Timetable and Event Schedule by MotoPress, Very Simple Event List, WooCommerce Event Manager, XO Event Calendar, Calendarize it! for WordPress, Events Schedule - WordPress Events Calendar Plugin) #1142 - -= 1.9.46.1 (12 Aug 2020) = - -* Fixed: Compatibility issue with WordPress 5.5 #1149 - -= 1.9.46 (05 Aug 2020) = - -* Fixed: Fatal error due to conflict with Yoast Seo #1127 -* Fixed: The placement options do not appear when trying to add a new schema type. #1126 -* Fixed: Do not create empty entiries in wp_post meta table. #1123 -* Fixed: Schema Does not appear with condition "Page template" #1119 -* Fixed: Itemlist schema should not be generated automatically on frontpage and archive page (When collection or blog list schema is there). #1132 -* Fixed: One of contentUrl or embedUrl must be provided warning is appearing eventhough video is present in the content #1125 -* Added: Compatibility with Ratency - Review & Magazine Theme #793 - -= 1.9.45 (23 July 2020) = - -* Fixed: Fatal error: Uncaught Error: Call to a member function get() on null on activation Arlo training and event management system #1122 -* Fixed: Remove CollectionPage schema on product category page #1080 -* Fixed: Changed the label of Website schema (Global) to Website schema (HomePage) #1121 -* Fixed: Undefined index: saswp_product_reviews_created_date /plugins/schema-and-structured-data-for-wp/output/markup.php on line 885 #1120 -* Added: Compatibility with the Sensei LMS plugin ( https://wordpress.org/plugins/sensei-lms/) in Course Schema pro extension #918 -* Added: Compatibility with classiPress Ads theme #918 -* Added: Compatibility with Stamped.io Product Reviews & UGC for WooCommerce ( https://wordpress.org/plugins/stampedio-product-reviews/ ) #666 -* Added: Compatibility with Wp Product Review ( https://wordpress.org/plugins/wp-product-review/ ) #568 -* Added: Compatibility with Sabai Discuss plugin in Q&A pro extension #1056 -* Added: Compatibility with Geo Directory plugin in Real Estate pro extension #818 -* Added: Compatibility with Featured Video Plus ( https://wordpress.org/support/plugin/featured-video-plus/ ) #576 - - -= 1.9.44.1 (16 July 2020) = - -* Fixed: Placement for taxonomy(tag) for particular product category is not working #1118 -* Fixed: Fatal error with a conflict plugin #1116 -* Fixed: Recipe schema:- The recipe markup is getting duplicated in AMP only. #1109 -* Fixed: First take user name in the review author if its not available than show 'anonymous' name for anonymous user #1112 -* Added: ID Property to Person and Event schema type #1117 -* Added: Compatibility with All in One Seo pack pro #1110 -* Added: Compatibility with Ultimate Blocks ( https://wordpress.org/plugins/ultimate-blocks/ ). Only HowTo Block -* Added: Compatibility with Yotpo reviews plugin ( https://wordpress.org/plugins/yotpo-social-reviews-for-woocommerce/ ) -* Added: Compatibility & Migrator with Stars Rating plugin ( https://wordpress.org/plugins/stars-rating/ ) -* Added: Display a message when user has not selected the options for displaying structured data via AMP plugins (AMP automatic etc). #1108 - - -= 1.9.44 (09 July 2020) = - -* Added: Date Placement option for generting schema as per the post date published #895 -* Added: Compatibility with WP Tasty Recipe -* Added: Filesize property to VideoGame schema type #1090 -* Fixed: PHP Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'saswp_exclude_wpsso_schema_graph' not found or invalid function name #1104 -* Fixed: Review counts are decrementing without fetching the reviews #1087 -* Fixed: "User ID Missing" issue when fetching the "Capterra" reviews #1086 -* Fixed: Uncaught TypeError: Cannot read property 'status' of null in saswp-reviews-script.js #1095 -* Fixed: When structured data for non amp is unchecked then also the plugin is interacting with the non-amp code data. #1107 -* Fixed: If the banner isn't there, then the options needs to be full width #1106 - -= 1.9.43 (04 July 2020) = - -* Fixed: Course post is getting blank when product schema is addedd to the ip_couse post type #1101 -* Fixed: Website and searchbox schema should only show on the homepage #1098 -* Fixed: FAQ schema is not being displayed in homepage(AMP) when using a custom front page #1096 -* Fixed: PHP Notice: Trying to get property 'data' of non-object in /output/service.php on line 3700 because of anonymous users #1094 -* Fixed: NewsArticle is not a known valid target type for the itemReviewed property #1093 -* Fixed: Image size is smaller than recommended #1092 -* Fixed: When ACF Video URL is mapped in modified field its not working #1084 -* Added: Compatibility with Recipe Card Block By WPZOOM ( https://wordpress.org/plugins/recipe-card-blocks-by-wpzoom ) -* Added: Compatibility with ReciPress ( https://wordpress.org/plugins/recipress ) -* Added: More nutrition information properties to recipe schema -* Added: Schema type blocks (Q&A) has been added in Gutenberg editor #842 -* Added: Schema type blocks (Q&A) has been added in Elementor widget #820 - - -= 1.9.42 (27 June 2020) = - -* Added: Project Schema #486 -* Added: ApartmentComplex Schema #787 -* Added: RentAction Schema #788 -* Added: HotelRoom Schema #788 -* Added: Certifications/education ( EducationalOccupationalCredential ) scheme type #859 -* Added: Podcast ( Audiobook, PodcastEpisode & PodcastSeasons ) Schema -* Enhancement: Rating selection in decimal number like 3.1, 3.5 etc. #782 -* Fixed: Breadcrumb is not correct on category page #1056 -* Fixed: Uncaught Error: Option 'ajax' is not allowed for Select2 when attached to a