From 1c48ba53a6d490b3307d7d60591d2d46fd36ccdc Mon Sep 17 00:00:00 2001 From: girishkrishaweb Date: Mon, 3 May 2021 12:31:12 +0530 Subject: [PATCH] Add license and creator setting fields #794 --- classes/Visualizer/Module/Frontend.php | 37 +++++++++++++++++++- classes/Visualizer/Render/Sidebar/Google.php | 15 +++++++- 2 files changed, 50 insertions(+), 2 deletions(-) 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/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();