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(); } /**