Wählen Sie die Metadatenfelder, die im Frontend angezeigt werden sollen.
';
- echo '
Alternativ können Metadatenfelder im Editor per Shortcodes aufgerufen werden: [show_amb_metadata field="amb_audience"] oder [show_amb_metadata] für alle aktivierten Felder.
';
+ echo '
Alternativ können Metadatenfelder im Editor per Shortcodes aufgerufen werden: [show_amb_metadata field="amb_audience"] oder [show_amb_metadata] für alle aktivierten Felder.
';
echo '
Sie können auch beliebige Felder in Ihrem Theme mit show_amb_metadata("NAME_DES_FELDS") aufrufen.
Die Voreinstellungen hier vornehmen, wenn sie für alle Ressourcen gesetzt werden sollen. Diese Felder werden dann im Editor nicht mehr angezeigt. Sie können Felder auch ausblenden, ohne einen Standardwert zu setzen.
';
}
function amb_dido_default_field_callback($args) {
- $options = get_option('amb_dido_defaults');
- echo "";
}
-
function amb_dido_sanitize_defaults($value) {
- if (!isset($value) || empty($value)) {
- return ''; // Return empty string for invalid values (except "deactivate")
- } elseif ($value === 'deactivate') {
- return 'deactivate'; // Return "deactivate" as is
- } else {
- return $value; // Return the sanitized value
- }
-}
-
-
-register_setting('amb_dido_settings_group', 'amb_dido_defaults', 'amb_dido_sanitize_defaults');
-
-// veraltet:
-function amb_dido_default_field_html() {
- echo '
Die Voreinstellungen hier vornehmen, wenn sie für alle Ressourcen gesetzt werden sollen. Diese Felder werden dann im Editor nicht mehr angezeigt. ';
- $fields = amb_get_other_fields();
- foreach ($fields as $key => $value) {
- add_settings_field($key, $value['field_label'], 'amb_dido_default_field_callback', 'amb_dido', 'amb_dido_default_section', ['id' => $key, 'options' => $value['options']]);
+ if (!isset($value) || empty($value)) {
+ return '';
+ } elseif ($value === 'deactivate') {
+ return 'deactivate';
+ } else {
+ return $value;
}
}
-
-/**
- * Post-Typen Auswahl
-**/
-
function amb_dido_post_types_field_html() {
$selected_post_types = get_option('amb_dido_post_types', []);
$all_post_types = get_post_types(['public' => true], 'objects');
@@ -272,23 +172,15 @@ function amb_dido_post_types_field_html() {
}
}
-
function amb_dido_sanitize_post_types($input) {
$valid_post_types = get_post_types(['public' => true]);
return array_intersect($valid_post_types, $input);
}
-
-/**
- * Callback-Funktion für die Sektion der benutzerdefinierten Wertelisten.
- */
function amb_dido_custom_fields_section_callback() {
echo '
Fügen Sie hier benutzerdefinierte Wertelisten hinzu, indem Sie eine URL und einen AMB-Schlüssel angeben.
';
}
-/**
- * Callback-Funktion für die Formularfelder der benutzerdefinierten Wertelisten.
- */
function amb_dido_custom_fields_field_callback() {
$options = get_option('amb_dido_custom_fields', []);
$amb_keys = ['about', 'teaches', 'assesses', 'audience', 'interactivityType'];
@@ -303,9 +195,6 @@ function amb_dido_custom_fields_field_callback() {
echo '';
}
-/**
- * Funktion zum Rendern eines einzelnen Formularfeldes für benutzerdefinierte Wertelisten.
- */
function amb_dido_render_custom_field($url, $key, $counter) {
$amb_keys = ['about', 'teaches', 'assesses', 'audience', 'interactivityType', 'competencyRequired', 'educationalLevel'];
$meta_key = 'amb_custom' . $counter;
@@ -328,9 +217,6 @@ function amb_dido_render_custom_field($url, $key, $counter) {
echo '
';
}
-/**
- * Sanitize-Funktion für benutzerdefinierte Wertelisten.
- */
function amb_dido_sanitize_custom_fields($input) {
$sanitized_input = [];
foreach ($input as $custom_field) {
@@ -350,51 +236,6 @@ function amb_dido_sanitize_custom_fields($input) {
return $sanitized_input;
}
-// JavaScript-Funktion für dynamische Formularfelder
-function amb_dido_custom_fields_js() {
- ?>
-
- Bitte beachten Sie dabei folgendes: 1.) Ihre Taxonomie sollte kanonisch mit vorhandenen Schemata sein, d.h. die gleichen Werte und idealerweise Wertelabels nutzen. Ggf. sind dafür Anpassungen von "slug" (Wert) und "name" (Label) notwendig, um Gleichheit der Werte sicherzustellen. 2.) Schemata sind feste Wertelisten, bitte vermeiden Sie hinzufügen neuer Kategorien, die nicht Teil des Schemas sind. Diese sind dann nicht nämlich nicht kanonisch und damit nicht interoperabel. 3.) Eigene Taxonomien sind für die Darstellung und Funktionalität der Webseite zwar sehr praktisch, hier führt deren Nutzung aber dazu, dass die gesetzten Werte nicht auf publizierte Wertelisten verlinken. Daher bitte Punkt 1 und 2 beherzigen.';
}
-// Callback for the taxonomy mapping fields
function amb_dido_taxonomy_mapping_callback() {
$all_fields = array_merge(amb_get_other_fields(), amb_get_all_external_values());
$taxonomies = get_taxonomies(array('public' => true), 'objects');
$mapping = get_option('amb_dido_taxonomy_mapping', array());
- //echo '
';
foreach ($all_fields as $field_key => $field_data) {
echo '