Version Description
- Fix the conflict with Event Manager plugin
- Add New schema generator at footer
Download this release
Release Info
Developer | kcseopro |
Plugin | WP SEO Structured Data Schema |
Version | 2.3 |
Comparing to | |
See all releases |
Code changes from version 2.4 to 2.3
- lib/models/KcSeoSchemaModel.php +31 -40
- readme.txt +2 -5
- wp-seo-structured-data-schema.php +3 -5
lib/models/KcSeoSchemaModel.php
CHANGED
@@ -28,7 +28,7 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
28 |
if ( ! empty( $metaData['author'] ) ) {
|
29 |
$article["author"] = array(
|
30 |
"@type" => "Person",
|
31 |
-
"name"
|
32 |
);
|
33 |
}
|
34 |
if ( ! empty( $metaData['publisher'] ) ) {
|
@@ -94,7 +94,7 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
94 |
if ( ! empty( $metaData['author'] ) ) {
|
95 |
$newsArticle["author"] = array(
|
96 |
"@type" => "Person",
|
97 |
-
"name"
|
98 |
);
|
99 |
}
|
100 |
if ( ! empty( $metaData['image'] ) ) {
|
@@ -157,7 +157,7 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
157 |
if ( ! empty( $metaData['author'] ) ) {
|
158 |
$blogPosting["author"] = array(
|
159 |
"@type" => "Person",
|
160 |
-
"name"
|
161 |
);
|
162 |
}
|
163 |
if ( ! empty( $metaData['image'] ) ) {
|
@@ -517,20 +517,20 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
517 |
'textarea' );
|
518 |
}
|
519 |
if ( ! empty( $metaData['image'] ) ) {
|
520 |
-
$img
|
521 |
$localBusiness["image"] = $KcSeoWPSchema->sanitizeOutPut( $img['url'], 'url' );
|
522 |
}
|
523 |
if ( ! empty( $metaData['priceRange'] ) ) {
|
524 |
$localBusiness["priceRange"] = $KcSeoWPSchema->sanitizeOutPut( $metaData['priceRange'] );
|
525 |
}
|
526 |
if ( ! empty( $metaData['addressLocality'] ) || ! empty( $metaData['addressRegion'] )
|
527 |
-
|
528 |
$localBusiness["address"] = array(
|
529 |
-
"@type"
|
530 |
"addressLocality" => $KcSeoWPSchema->sanitizeOutPut( $metaData['addressLocality'] ),
|
531 |
-
"addressRegion"
|
532 |
-
"postalCode"
|
533 |
-
"streetAddress"
|
534 |
);
|
535 |
}
|
536 |
|
@@ -555,7 +555,6 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
555 |
$id = $data['id'];
|
556 |
$name = $data['name'];
|
557 |
$value = $data['value'];
|
558 |
-
$attr = !empty($data['attr']) ? $data['attr'] : null;
|
559 |
|
560 |
$class = isset( $data['class'] ) ? ( $data['class'] ? $data['class'] : null ) : null;
|
561 |
$require = ( isset( $data['required'] ) ? ( $data['required'] ? "<span class='required'>*</span>" : null ) : null );
|
@@ -578,7 +577,11 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
578 |
break;
|
579 |
|
580 |
case 'number':
|
581 |
-
|
|
|
|
|
|
|
|
|
582 |
break;
|
583 |
case 'textarea':
|
584 |
$html .= "<textarea id='{$id}' class='{$class}' name='{$name}' >" . wp_kses( $value,
|
@@ -903,7 +906,6 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
903 |
'price' => array(
|
904 |
'title' => 'Price (Recommended)',
|
905 |
'type' => 'number',
|
906 |
-
'attr' => 'step="any"',
|
907 |
'desc' => "This is highly recommended. The lowest available price, including service charges and fees, of this type of ticket. <span class='required'>Not required but (Recommended)</span>"
|
908 |
),
|
909 |
'priceCurrency' => array(
|
@@ -948,19 +950,17 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
948 |
),
|
949 |
'ratingValue' => array(
|
950 |
'title' => 'Ratting value',
|
951 |
-
'type' => '
|
952 |
'desc' => "Rating value. (1 , 2.5, 3, 5 etc)"
|
953 |
),
|
954 |
'reviewCount' => array(
|
955 |
'title' => 'Total review count',
|
956 |
'type' => 'number',
|
957 |
-
'attr' => 'step="any"',
|
958 |
'desc' => "Rating ratting value. <span class='required'>This is required if (Ratting value) is given</span>"
|
959 |
),
|
960 |
'price' => array(
|
961 |
'title' => 'Price',
|
962 |
'type' => 'number',
|
963 |
-
'attr' => 'step="any"',
|
964 |
'desc' => "The lowest available price, including service charges and fees, of this type of ticket."
|
965 |
),
|
966 |
'priceCurrency' => array(
|
@@ -1180,19 +1180,16 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
1180 |
'ratingValue' => array(
|
1181 |
'title' => 'Rating value',
|
1182 |
'type' => 'number',
|
1183 |
-
'attr' => 'step="any"',
|
1184 |
'desc' => "A numerical quality rating for the item."
|
1185 |
),
|
1186 |
'bestRating' => array(
|
1187 |
'title' => 'Best rating',
|
1188 |
'type' => 'number',
|
1189 |
-
'attr' => 'step="any"',
|
1190 |
'desc' => "The highest value allowed in this rating system."
|
1191 |
),
|
1192 |
'worstRating' => array(
|
1193 |
'title' => 'Worst rating',
|
1194 |
'type' => 'number',
|
1195 |
-
'attr' => 'step="any"',
|
1196 |
'desc' => "The lowest value allowed in this rating system. * Required if the rating system is not on a 5-point scale. If worstRating is omitted, 1 is assumed."
|
1197 |
),
|
1198 |
'publisher' => array(
|
@@ -1252,27 +1249,23 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
1252 |
'ratingCount' => array(
|
1253 |
'title' => 'Rating Count',
|
1254 |
'type' => 'number',
|
1255 |
-
'attr' => 'step="any"',
|
1256 |
'required' => true,
|
1257 |
'desc' => "The total number of ratings for the item on your site. <span class='required'>* At least one of ratingCount or reviewCount is required.</span>"
|
1258 |
),
|
1259 |
'reviewCount' => array(
|
1260 |
'title' => 'Review Count',
|
1261 |
'type' => 'number',
|
1262 |
-
'attr' => 'step="any"',
|
1263 |
'required' => true,
|
1264 |
'desc' => "Specifies the number of people who provided a review with or without an accompanying rating. At least one of ratingCount or reviewCount is required."
|
1265 |
),
|
1266 |
'ratingValue' => array(
|
1267 |
'title' => 'Rating Value',
|
1268 |
'type' => 'number',
|
1269 |
-
'attr' => 'step="any"',
|
1270 |
'required' => true,
|
1271 |
'desc' => "A numerical quality rating for the item."
|
1272 |
),
|
1273 |
'ratingValue' => array(
|
1274 |
'title' => 'Rating Value',
|
1275 |
-
'attr' => 'step="any"',
|
1276 |
'type' => 'number',
|
1277 |
'required' => true,
|
1278 |
'desc' => "A numerical quality rating for the item."
|
@@ -1280,14 +1273,12 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
1280 |
'bestRating' => array(
|
1281 |
'title' => 'Best Rating',
|
1282 |
'type' => 'number',
|
1283 |
-
'attr' => 'step="any"',
|
1284 |
'required' => true,
|
1285 |
'desc' => "The highest value allowed in this rating system. <span class='required'>* Required if the rating system is not a 5-point scale.</span> If bestRating is omitted, 5 is assumed."
|
1286 |
),
|
1287 |
'worstRating' => array(
|
1288 |
'title' => 'Worst Rating',
|
1289 |
'type' => 'number',
|
1290 |
-
'attr' => 'step="any"',
|
1291 |
'required' => true,
|
1292 |
'desc' => "The lowest value allowed in this rating system. <span class='required'>* Required if the rating system is not a 5-point scale.</span> If worstRating is omitted, 1 is assumed."
|
1293 |
)
|
@@ -1347,47 +1338,47 @@ if ( ! class_exists( 'KcSeoSchemaModel' ) ):
|
|
1347 |
'localBusiness' => array(
|
1348 |
'title' => 'Local Business',
|
1349 |
'fields' => array(
|
1350 |
-
'active'
|
1351 |
'type' => 'checkbox'
|
1352 |
),
|
1353 |
-
'name'
|
1354 |
-
'title'
|
1355 |
-
'type'
|
1356 |
'required' => true
|
1357 |
),
|
1358 |
-
'description'
|
1359 |
'title' => 'Description',
|
1360 |
'type' => 'textarea',
|
1361 |
),
|
1362 |
-
'image'
|
1363 |
'title' => 'Business Logo',
|
1364 |
'type' => 'image',
|
1365 |
'required' => true
|
1366 |
),
|
1367 |
-
'priceRange'
|
1368 |
-
'title'
|
1369 |
-
'type'
|
1370 |
-
'desc'
|
1371 |
),
|
1372 |
'addressLocality' => array(
|
1373 |
'title' => 'Address locality',
|
1374 |
'type' => 'text',
|
1375 |
-
'desc'
|
1376 |
),
|
1377 |
-
'addressRegion'
|
1378 |
'title' => 'Address region',
|
1379 |
'type' => 'text',
|
1380 |
-
'desc'
|
1381 |
),
|
1382 |
-
'postalCode'
|
1383 |
'title' => 'Postal code',
|
1384 |
'type' => 'text',
|
1385 |
),
|
1386 |
-
'streetAddress'
|
1387 |
'title' => 'Street address',
|
1388 |
'type' => 'text',
|
1389 |
),
|
1390 |
-
'telephone'
|
1391 |
'title' => 'Telephone (Recommended)',
|
1392 |
'type' => 'text',
|
1393 |
)
|
28 |
if ( ! empty( $metaData['author'] ) ) {
|
29 |
$article["author"] = array(
|
30 |
"@type" => "Person",
|
31 |
+
"name" => $KcSeoWPSchema->sanitizeOutPut( $metaData['author'] )
|
32 |
);
|
33 |
}
|
34 |
if ( ! empty( $metaData['publisher'] ) ) {
|
94 |
if ( ! empty( $metaData['author'] ) ) {
|
95 |
$newsArticle["author"] = array(
|
96 |
"@type" => "Person",
|
97 |
+
"name" => $KcSeoWPSchema->sanitizeOutPut( $metaData['author'] )
|
98 |
);
|
99 |
}
|
100 |
if ( ! empty( $metaData['image'] ) ) {
|
157 |
if ( ! empty( $metaData['author'] ) ) {
|
158 |
$blogPosting["author"] = array(
|
159 |
"@type" => "Person",
|
160 |
+
"name" => $KcSeoWPSchema->sanitizeOutPut( $metaData['author'] )
|
161 |
);
|
162 |
}
|
163 |
if ( ! empty( $metaData['image'] ) ) {
|
517 |
'textarea' );
|
518 |
}
|
519 |
if ( ! empty( $metaData['image'] ) ) {
|
520 |
+
$img = $KcSeoWPSchema->imageInfo( absint( $metaData['image'] ) );
|
521 |
$localBusiness["image"] = $KcSeoWPSchema->sanitizeOutPut( $img['url'], 'url' );
|
522 |
}
|
523 |
if ( ! empty( $metaData['priceRange'] ) ) {
|
524 |
$localBusiness["priceRange"] = $KcSeoWPSchema->sanitizeOutPut( $metaData['priceRange'] );
|
525 |
}
|
526 |
if ( ! empty( $metaData['addressLocality'] ) || ! empty( $metaData['addressRegion'] )
|
527 |
+
|| ! empty( $metaData['postalCode'] ) || ! empty( $metaData['streetAddress'] )) {
|
528 |
$localBusiness["address"] = array(
|
529 |
+
"@type" => "PostalAddress",
|
530 |
"addressLocality" => $KcSeoWPSchema->sanitizeOutPut( $metaData['addressLocality'] ),
|
531 |
+
"addressRegion" => $KcSeoWPSchema->sanitizeOutPut( $metaData['addressRegion'] ),
|
532 |
+
"postalCode"=> $KcSeoWPSchema->sanitizeOutPut( $metaData['postalCode'] ),
|
533 |
+
"streetAddress"=> $KcSeoWPSchema->sanitizeOutPut( $metaData['streetAddress'] )
|
534 |
);
|
535 |
}
|
536 |
|
555 |
$id = $data['id'];
|
556 |
$name = $data['name'];
|
557 |
$value = $data['value'];
|
|
|
558 |
|
559 |
$class = isset( $data['class'] ) ? ( $data['class'] ? $data['class'] : null ) : null;
|
560 |
$require = ( isset( $data['required'] ) ? ( $data['required'] ? "<span class='required'>*</span>" : null ) : null );
|
577 |
break;
|
578 |
|
579 |
case 'number':
|
580 |
+
if ( $data['fieldId'] == 'price' ) {
|
581 |
+
$html .= "<input type='number' step='any' id='{$id}' class='{$class}' name='{$name}' value='" . esc_attr( $value ) . "' />";
|
582 |
+
} else {
|
583 |
+
$html .= "<input type='number' id='{$id}' class='{$class}' name='{$name}' value='" . esc_attr( $value ) . "' />";
|
584 |
+
}
|
585 |
break;
|
586 |
case 'textarea':
|
587 |
$html .= "<textarea id='{$id}' class='{$class}' name='{$name}' >" . wp_kses( $value,
|
906 |
'price' => array(
|
907 |
'title' => 'Price (Recommended)',
|
908 |
'type' => 'number',
|
|
|
909 |
'desc' => "This is highly recommended. The lowest available price, including service charges and fees, of this type of ticket. <span class='required'>Not required but (Recommended)</span>"
|
910 |
),
|
911 |
'priceCurrency' => array(
|
950 |
),
|
951 |
'ratingValue' => array(
|
952 |
'title' => 'Ratting value',
|
953 |
+
'type' => 'text',
|
954 |
'desc' => "Rating value. (1 , 2.5, 3, 5 etc)"
|
955 |
),
|
956 |
'reviewCount' => array(
|
957 |
'title' => 'Total review count',
|
958 |
'type' => 'number',
|
|
|
959 |
'desc' => "Rating ratting value. <span class='required'>This is required if (Ratting value) is given</span>"
|
960 |
),
|
961 |
'price' => array(
|
962 |
'title' => 'Price',
|
963 |
'type' => 'number',
|
|
|
964 |
'desc' => "The lowest available price, including service charges and fees, of this type of ticket."
|
965 |
),
|
966 |
'priceCurrency' => array(
|
1180 |
'ratingValue' => array(
|
1181 |
'title' => 'Rating value',
|
1182 |
'type' => 'number',
|
|
|
1183 |
'desc' => "A numerical quality rating for the item."
|
1184 |
),
|
1185 |
'bestRating' => array(
|
1186 |
'title' => 'Best rating',
|
1187 |
'type' => 'number',
|
|
|
1188 |
'desc' => "The highest value allowed in this rating system."
|
1189 |
),
|
1190 |
'worstRating' => array(
|
1191 |
'title' => 'Worst rating',
|
1192 |
'type' => 'number',
|
|
|
1193 |
'desc' => "The lowest value allowed in this rating system. * Required if the rating system is not on a 5-point scale. If worstRating is omitted, 1 is assumed."
|
1194 |
),
|
1195 |
'publisher' => array(
|
1249 |
'ratingCount' => array(
|
1250 |
'title' => 'Rating Count',
|
1251 |
'type' => 'number',
|
|
|
1252 |
'required' => true,
|
1253 |
'desc' => "The total number of ratings for the item on your site. <span class='required'>* At least one of ratingCount or reviewCount is required.</span>"
|
1254 |
),
|
1255 |
'reviewCount' => array(
|
1256 |
'title' => 'Review Count',
|
1257 |
'type' => 'number',
|
|
|
1258 |
'required' => true,
|
1259 |
'desc' => "Specifies the number of people who provided a review with or without an accompanying rating. At least one of ratingCount or reviewCount is required."
|
1260 |
),
|
1261 |
'ratingValue' => array(
|
1262 |
'title' => 'Rating Value',
|
1263 |
'type' => 'number',
|
|
|
1264 |
'required' => true,
|
1265 |
'desc' => "A numerical quality rating for the item."
|
1266 |
),
|
1267 |
'ratingValue' => array(
|
1268 |
'title' => 'Rating Value',
|
|
|
1269 |
'type' => 'number',
|
1270 |
'required' => true,
|
1271 |
'desc' => "A numerical quality rating for the item."
|
1273 |
'bestRating' => array(
|
1274 |
'title' => 'Best Rating',
|
1275 |
'type' => 'number',
|
|
|
1276 |
'required' => true,
|
1277 |
'desc' => "The highest value allowed in this rating system. <span class='required'>* Required if the rating system is not a 5-point scale.</span> If bestRating is omitted, 5 is assumed."
|
1278 |
),
|
1279 |
'worstRating' => array(
|
1280 |
'title' => 'Worst Rating',
|
1281 |
'type' => 'number',
|
|
|
1282 |
'required' => true,
|
1283 |
'desc' => "The lowest value allowed in this rating system. <span class='required'>* Required if the rating system is not a 5-point scale.</span> If worstRating is omitted, 1 is assumed."
|
1284 |
)
|
1338 |
'localBusiness' => array(
|
1339 |
'title' => 'Local Business',
|
1340 |
'fields' => array(
|
1341 |
+
'active' => array(
|
1342 |
'type' => 'checkbox'
|
1343 |
),
|
1344 |
+
'name' => array(
|
1345 |
+
'title' => 'Name',
|
1346 |
+
'type' => 'text',
|
1347 |
'required' => true
|
1348 |
),
|
1349 |
+
'description' => array(
|
1350 |
'title' => 'Description',
|
1351 |
'type' => 'textarea',
|
1352 |
),
|
1353 |
+
'image' => array(
|
1354 |
'title' => 'Business Logo',
|
1355 |
'type' => 'image',
|
1356 |
'required' => true
|
1357 |
),
|
1358 |
+
'priceRange' => array(
|
1359 |
+
'title' => 'Price Range (Recommended)',
|
1360 |
+
'type' => 'text',
|
1361 |
+
'desc' => "The price range of the business, for example $$$."
|
1362 |
),
|
1363 |
'addressLocality' => array(
|
1364 |
'title' => 'Address locality',
|
1365 |
'type' => 'text',
|
1366 |
+
'desc' => 'City (i.e Kansas city)'
|
1367 |
),
|
1368 |
+
'addressRegion' => array(
|
1369 |
'title' => 'Address region',
|
1370 |
'type' => 'text',
|
1371 |
+
'desc' => 'State (i.e. MO)'
|
1372 |
),
|
1373 |
+
'postalCode' => array(
|
1374 |
'title' => 'Postal code',
|
1375 |
'type' => 'text',
|
1376 |
),
|
1377 |
+
'streetAddress' => array(
|
1378 |
'title' => 'Street address',
|
1379 |
'type' => 'text',
|
1380 |
),
|
1381 |
+
'telephone' => array(
|
1382 |
'title' => 'Telephone (Recommended)',
|
1383 |
'type' => 'text',
|
1384 |
)
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: kcseopro
|
|
3 |
Donate link:
|
4 |
Tags: seo, schema, structured data, rich snippets, microdata, json-ld, search engine optimization, local seo, google, sitelinks, schema.org, microformat, serp, amp
|
5 |
Requires at least: 3.5
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 2.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -93,9 +93,6 @@ You'll find the [FAQ on Kcseopro.com](http://kcseopro.com/).
|
|
93 |
|
94 |
== Changelog ==
|
95 |
|
96 |
-
= 2.4 =
|
97 |
-
* Delete data when delete your plugin (Fixed)
|
98 |
-
|
99 |
= 2.3 =
|
100 |
* Fix the conflict with Event Manager plugin
|
101 |
* Add New schema generator at footer
|
3 |
Donate link:
|
4 |
Tags: seo, schema, structured data, rich snippets, microdata, json-ld, search engine optimization, local seo, google, sitelinks, schema.org, microformat, serp, amp
|
5 |
Requires at least: 3.5
|
6 |
+
Tested up to: 4.9
|
7 |
+
Stable tag: 2.3
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
93 |
|
94 |
== Changelog ==
|
95 |
|
|
|
|
|
|
|
96 |
= 2.3 =
|
97 |
* Fix the conflict with Event Manager plugin
|
98 |
* Add New schema generator at footer
|
wp-seo-structured-data-schema.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
*Plugin Name: WP SEO Structured Data Schema
|
4 |
* Plugin URI: http://kcseopro.com/
|
5 |
* Description: Comprehensive JSON-LD based Structured Data solution for WordPress for adding schema for organizations, businesses, blog posts, ratings & more.
|
6 |
-
* Version: 2.
|
7 |
* Author: kcseopro
|
8 |
* Author URI: http://kcseopro.com/
|
9 |
* License: A "Slug" license name e.g. GPL2
|
@@ -18,9 +18,7 @@ if (!defined('JSON_PRETTY_PRINT'))
|
|
18 |
if (!defined('JSON_UNESCAPED_UNICODE'))
|
19 |
define('JSON_UNESCAPED_UNICODE', 256);
|
20 |
|
21 |
-
|
22 |
-
$plugin_data = get_file_data( __FILE__, array( 'Version' => 'Version' ), false );
|
23 |
-
define( 'KCSEO_WP_SCHEMA_VERSION', $plugin_data['Version'] );
|
24 |
define('KCSEO_WP_SCHEMA_SLUG', 'wp-seo-structured-data-schema');
|
25 |
define('KCSEO_WP_SCHEMA_PATH', dirname(__FILE__));
|
26 |
define('KCSEO_WP_SCHEMA_PLUGIN_ACTIVE_FILE_NAME', plugin_basename( __FILE__ ));
|
@@ -32,7 +30,7 @@ register_uninstall_hook( __FILE__, 'KCSEO_uninstall');
|
|
32 |
|
33 |
function KCSEO_uninstall(){
|
34 |
global $KcSeoWPSchema;
|
35 |
-
$settings = get_option( $KcSeoWPSchema->options['
|
36 |
if(! empty( $settings['delete-data'])){
|
37 |
$schemas = new KcSeoSchemaModel;
|
38 |
$schemaFields = $schemas->schemaTypes();
|
3 |
*Plugin Name: WP SEO Structured Data Schema
|
4 |
* Plugin URI: http://kcseopro.com/
|
5 |
* Description: Comprehensive JSON-LD based Structured Data solution for WordPress for adding schema for organizations, businesses, blog posts, ratings & more.
|
6 |
+
* Version: 2.3
|
7 |
* Author: kcseopro
|
8 |
* Author URI: http://kcseopro.com/
|
9 |
* License: A "Slug" license name e.g. GPL2
|
18 |
if (!defined('JSON_UNESCAPED_UNICODE'))
|
19 |
define('JSON_UNESCAPED_UNICODE', 256);
|
20 |
|
21 |
+
define('KCSEO_WP_SCHEMA_VERSION', '2.3');
|
|
|
|
|
22 |
define('KCSEO_WP_SCHEMA_SLUG', 'wp-seo-structured-data-schema');
|
23 |
define('KCSEO_WP_SCHEMA_PATH', dirname(__FILE__));
|
24 |
define('KCSEO_WP_SCHEMA_PLUGIN_ACTIVE_FILE_NAME', plugin_basename( __FILE__ ));
|
30 |
|
31 |
function KCSEO_uninstall(){
|
32 |
global $KcSeoWPSchema;
|
33 |
+
$settings = get_option( $KcSeoWPSchema->options['settings'] );
|
34 |
if(! empty( $settings['delete-data'])){
|
35 |
$schemas = new KcSeoSchemaModel;
|
36 |
$schemaFields = $schemas->schemaTypes();
|