Skip to content

Commit 1c48ba5

Browse files
Add license and creator setting fields #794
1 parent f00b870 commit 1c48ba5

File tree

2 files changed

+50
-2
lines changed

2 files changed

+50
-2
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/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();

0 commit comments

Comments
 (0)