Skip to content

Commit 0530c04

Browse files
authored
Merge pull request #799 from Codeinwp/bugfix/794
Add new setting fields
2 parents c2437ce + 5a7d760 commit 0530c04

File tree

6 files changed

+128
-3
lines changed

6 files changed

+128
-3
lines changed

classes/Visualizer/Module/Frontend.php

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,13 +484,48 @@ private function addSchema( $id ) {
484484
return '';
485485
}
486486

487+
$license = '';
488+
if ( isset( $settings['license'] ) && ! empty( $settings['license'] ) ) {
489+
$license = $settings['license'];
490+
if ( is_array( $license ) ) {
491+
$license = $settings['license']['text'];
492+
}
493+
}
494+
$license = apply_filters( 'visualizer_schema_license', $license, $id );
495+
if ( empty( $license ) ) {
496+
if ( $show_errors ) {
497+
return "<!-- Not showing structured data for chart $id because license is empty -->";
498+
}
499+
return '';
500+
}
501+
502+
$creator = '';
503+
if ( isset( $settings['creator'] ) && ! empty( $settings['creator'] ) ) {
504+
$creator = $settings['creator'];
505+
if ( is_array( $creator ) ) {
506+
$creator = $settings['creator']['text'];
507+
}
508+
}
509+
$creator = apply_filters( 'visualizer_schema_creator', $creator, $id );
510+
if ( empty( $creator ) ) {
511+
if ( $show_errors ) {
512+
return "<!-- Not showing structured data for chart $id because creator is empty -->";
513+
}
514+
return '';
515+
}
516+
487517
$schema = apply_filters(
488518
'visualizer_schema',
489519
'{
490520
"@context":"https://schema.org/",
491521
"@type":"Dataset",
492522
"name":"' . esc_html( $title ) . '",
493-
"description":"' . esc_html( $desc ) . '"
523+
"description":"' . esc_html( $desc ) . '",
524+
"license": "' . esc_html( $license ) . '",
525+
"creator": {
526+
"@type": "Person",
527+
"name": "' . esc_html( $creator ) . '"
528+
}
494529
}',
495530
$id
496531
);

classes/Visualizer/Render/Sidebar/ChartJS.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,20 @@ protected function _renderGeneralSettings() {
296296

297297
$this->_renderAnimationSettings();
298298

299+
self::_renderSectionStart( esc_html__( 'License & Creator', 'visualizer' ), false );
300+
self::_renderTextItem(
301+
esc_html__( 'License', 'visualizer' ),
302+
'license',
303+
$this->license,
304+
''
305+
);
306+
self::_renderTextItem(
307+
esc_html__( 'Creator', 'visualizer' ),
308+
'creator',
309+
$this->creator,
310+
''
311+
);
312+
self::_renderSectionEnd();
299313
self::_renderGroupEnd();
300314
}
301315

classes/Visualizer/Render/Sidebar/Google.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,20 @@ protected function _renderGeneralSettings() {
234234
self::_renderSectionEnd();
235235

236236
$this->_renderAnimationSettings();
237-
237+
self::_renderSectionStart( esc_html__( 'License & Creator', 'visualizer' ), false );
238+
self::_renderTextItem(
239+
esc_html__( 'License', 'visualizer' ),
240+
'license',
241+
$this->license,
242+
''
243+
);
244+
self::_renderTextItem(
245+
esc_html__( 'Creator', 'visualizer' ),
246+
'creator',
247+
$this->creator,
248+
''
249+
);
250+
self::_renderSectionEnd();
238251
do_action( 'visualizer_chart_settings', get_class( $this ), $this->_data, 'general', array( 'generic' => true ) );
239252

240253
self::_renderGroupEnd();

classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Gauge.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,28 @@ protected function _renderGeneralSettings() {
7878
$this->title,
7979
esc_html__( 'Text to display in the back-end admin area.', 'visualizer' )
8080
);
81+
82+
self::_renderTextAreaItem(
83+
esc_html__( 'Chart Description', 'visualizer' ),
84+
'description',
85+
$this->description,
86+
sprintf( esc_html__( 'Description to display in the structured data schema as explained %1$shere%2$s', 'visualizer' ), '<a href="https://developers.google.com/search/docs/data-types/dataset#dataset" target="_blank">', '</a>' )
87+
);
88+
self::_renderSectionEnd();
89+
90+
self::_renderSectionStart( esc_html__( 'License & Creator', 'visualizer' ), false );
91+
self::_renderTextItem(
92+
esc_html__( 'License', 'visualizer' ),
93+
'license',
94+
$this->license,
95+
''
96+
);
97+
self::_renderTextItem(
98+
esc_html__( 'Creator', 'visualizer' ),
99+
'creator',
100+
$this->creator,
101+
''
102+
);
81103
self::_renderSectionEnd();
82104

83105
self::_renderGroupEnd();

classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Geo.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,27 @@ protected function _renderGeneralSettings() {
6464
$this->title,
6565
esc_html__( 'Text to display in the back-end admin area.', 'visualizer' )
6666
);
67+
self::_renderTextAreaItem(
68+
esc_html__( 'Chart Description', 'visualizer' ),
69+
'description',
70+
$this->description,
71+
sprintf( esc_html__( 'Description to display in the structured data schema as explained %1$shere%2$s', 'visualizer' ), '<a href="https://developers.google.com/search/docs/data-types/dataset#dataset" target="_blank">', '</a>' )
72+
);
73+
self::_renderSectionEnd();
74+
75+
self::_renderSectionStart( esc_html__( 'License & Creator', 'visualizer' ), false );
76+
self::_renderTextItem(
77+
esc_html__( 'License', 'visualizer' ),
78+
'license',
79+
$this->license,
80+
''
81+
);
82+
self::_renderTextItem(
83+
esc_html__( 'Creator', 'visualizer' ),
84+
'creator',
85+
$this->creator,
86+
''
87+
);
6788
self::_renderSectionEnd();
6889
self::_renderGroupEnd();
6990
}

classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Tabular.php

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,28 @@ protected function _renderGeneralSettings() {
7373
$this->title,
7474
esc_html__( 'Text to display in the back-end admin area.', 'visualizer' )
7575
);
76+
self::_renderTextAreaItem(
77+
esc_html__( 'Chart Description', 'visualizer' ),
78+
'description',
79+
$this->description,
80+
sprintf( esc_html__( 'Description to display in the structured data schema as explained %1$shere%2$s', 'visualizer' ), '<a href="https://developers.google.com/search/docs/data-types/dataset#dataset" target="_blank">', '</a>' )
81+
);
7682
self::_renderSectionEnd();
77-
self::_renderGroupEnd();
83+
84+
self::_renderSectionStart( esc_html__( 'License & Creator', 'visualizer' ), false );
85+
self::_renderTextItem(
86+
esc_html__( 'License', 'visualizer' ),
87+
'license',
88+
$this->license,
89+
''
90+
);
91+
self::_renderTextItem(
92+
esc_html__( 'Creator', 'visualizer' ),
93+
'creator',
94+
$this->creator,
95+
''
96+
);
97+
self::_renderGroupEnd();
7898
}
7999

80100
/**

0 commit comments

Comments
 (0)