diff --git a/classes/Visualizer/Module/Frontend.php b/classes/Visualizer/Module/Frontend.php
index fb48bcde7..8a7d794fd 100644
--- a/classes/Visualizer/Module/Frontend.php
+++ b/classes/Visualizer/Module/Frontend.php
@@ -484,13 +484,48 @@ private function addSchema( $id ) {
return '';
}
+ $license = '';
+ if ( isset( $settings['license'] ) && ! empty( $settings['license'] ) ) {
+ $license = $settings['license'];
+ if ( is_array( $license ) ) {
+ $license = $settings['license']['text'];
+ }
+ }
+ $license = apply_filters( 'visualizer_schema_license', $license, $id );
+ if ( empty( $license ) ) {
+ if ( $show_errors ) {
+ return "";
+ }
+ return '';
+ }
+
+ $creator = '';
+ if ( isset( $settings['creator'] ) && ! empty( $settings['creator'] ) ) {
+ $creator = $settings['creator'];
+ if ( is_array( $creator ) ) {
+ $creator = $settings['creator']['text'];
+ }
+ }
+ $creator = apply_filters( 'visualizer_schema_creator', $creator, $id );
+ if ( empty( $creator ) ) {
+ if ( $show_errors ) {
+ return "";
+ }
+ return '';
+ }
+
$schema = apply_filters(
'visualizer_schema',
'{
"@context":"https://schema.org/",
"@type":"Dataset",
"name":"' . esc_html( $title ) . '",
- "description":"' . esc_html( $desc ) . '"
+ "description":"' . esc_html( $desc ) . '",
+ "license": "' . esc_html( $license ) . '",
+ "creator": {
+ "@type": "Person",
+ "name": "' . esc_html( $creator ) . '"
+ }
}',
$id
);
diff --git a/classes/Visualizer/Render/Sidebar/ChartJS.php b/classes/Visualizer/Render/Sidebar/ChartJS.php
index 50c2c98f6..d122d0090 100644
--- a/classes/Visualizer/Render/Sidebar/ChartJS.php
+++ b/classes/Visualizer/Render/Sidebar/ChartJS.php
@@ -296,6 +296,20 @@ protected function _renderGeneralSettings() {
$this->_renderAnimationSettings();
+ self::_renderSectionStart( esc_html__( 'License & Creator', 'visualizer' ), false );
+ self::_renderTextItem(
+ esc_html__( 'License', 'visualizer' ),
+ 'license',
+ $this->license,
+ ''
+ );
+ self::_renderTextItem(
+ esc_html__( 'Creator', 'visualizer' ),
+ 'creator',
+ $this->creator,
+ ''
+ );
+ self::_renderSectionEnd();
self::_renderGroupEnd();
}
diff --git a/classes/Visualizer/Render/Sidebar/Google.php b/classes/Visualizer/Render/Sidebar/Google.php
index af55567a2..1a60f9155 100644
--- a/classes/Visualizer/Render/Sidebar/Google.php
+++ b/classes/Visualizer/Render/Sidebar/Google.php
@@ -234,7 +234,20 @@ protected function _renderGeneralSettings() {
self::_renderSectionEnd();
$this->_renderAnimationSettings();
-
+ self::_renderSectionStart( esc_html__( 'License & Creator', 'visualizer' ), false );
+ self::_renderTextItem(
+ esc_html__( 'License', 'visualizer' ),
+ 'license',
+ $this->license,
+ ''
+ );
+ self::_renderTextItem(
+ esc_html__( 'Creator', 'visualizer' ),
+ 'creator',
+ $this->creator,
+ ''
+ );
+ self::_renderSectionEnd();
do_action( 'visualizer_chart_settings', get_class( $this ), $this->_data, 'general', array( 'generic' => true ) );
self::_renderGroupEnd();
diff --git a/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Gauge.php b/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Gauge.php
index 77d38aa26..d283bf039 100644
--- a/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Gauge.php
+++ b/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Gauge.php
@@ -78,6 +78,28 @@ protected function _renderGeneralSettings() {
$this->title,
esc_html__( 'Text to display in the back-end admin area.', 'visualizer' )
);
+
+ self::_renderTextAreaItem(
+ esc_html__( 'Chart Description', 'visualizer' ),
+ 'description',
+ $this->description,
+ sprintf( esc_html__( 'Description to display in the structured data schema as explained %1$shere%2$s', 'visualizer' ), '', '' )
+ );
+ self::_renderSectionEnd();
+
+ self::_renderSectionStart( esc_html__( 'License & Creator', 'visualizer' ), false );
+ self::_renderTextItem(
+ esc_html__( 'License', 'visualizer' ),
+ 'license',
+ $this->license,
+ ''
+ );
+ self::_renderTextItem(
+ esc_html__( 'Creator', 'visualizer' ),
+ 'creator',
+ $this->creator,
+ ''
+ );
self::_renderSectionEnd();
self::_renderGroupEnd();
diff --git a/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Geo.php b/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Geo.php
index e9a8ff8a3..a3d2c443e 100644
--- a/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Geo.php
+++ b/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Geo.php
@@ -64,6 +64,27 @@ protected function _renderGeneralSettings() {
$this->title,
esc_html__( 'Text to display in the back-end admin area.', 'visualizer' )
);
+ self::_renderTextAreaItem(
+ esc_html__( 'Chart Description', 'visualizer' ),
+ 'description',
+ $this->description,
+ sprintf( esc_html__( 'Description to display in the structured data schema as explained %1$shere%2$s', 'visualizer' ), '', '' )
+ );
+ self::_renderSectionEnd();
+
+ self::_renderSectionStart( esc_html__( 'License & Creator', 'visualizer' ), false );
+ self::_renderTextItem(
+ esc_html__( 'License', 'visualizer' ),
+ 'license',
+ $this->license,
+ ''
+ );
+ self::_renderTextItem(
+ esc_html__( 'Creator', 'visualizer' ),
+ 'creator',
+ $this->creator,
+ ''
+ );
self::_renderSectionEnd();
self::_renderGroupEnd();
}
diff --git a/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Tabular.php b/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Tabular.php
index 1ac6b12f0..aa96780d8 100644
--- a/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Tabular.php
+++ b/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Tabular.php
@@ -73,8 +73,28 @@ protected function _renderGeneralSettings() {
$this->title,
esc_html__( 'Text to display in the back-end admin area.', 'visualizer' )
);
+ self::_renderTextAreaItem(
+ esc_html__( 'Chart Description', 'visualizer' ),
+ 'description',
+ $this->description,
+ sprintf( esc_html__( 'Description to display in the structured data schema as explained %1$shere%2$s', 'visualizer' ), '', '' )
+ );
self::_renderSectionEnd();
- self::_renderGroupEnd();
+
+ self::_renderSectionStart( esc_html__( 'License & Creator', 'visualizer' ), false );
+ self::_renderTextItem(
+ esc_html__( 'License', 'visualizer' ),
+ 'license',
+ $this->license,
+ ''
+ );
+ self::_renderTextItem(
+ esc_html__( 'Creator', 'visualizer' ),
+ 'creator',
+ $this->creator,
+ ''
+ );
+ self::_renderGroupEnd();
}
/**