Nachdem ich in einer Testumgebung Complianz installiert und eingerichtet hatte, war an der Stelle, an der normalerweise eine Leaflet Map zu sehen sein sollte (resp. eine Gelegenheit dem Laden der Map zuzustimmen) nur weiß zu sehen. Grund war die Fehlermeldung im Titel.
In den Einstellungen des Plugins kann man festlegen, dass Skript und CSS-Dateien auf dem eigenen Server liegen, statt auf einem CDN. Was dennoch von Fremdservern geholt wird (vor allem wenn man viele Maps aus unterschiedlichen Regionen der Welt benötigt) sind die so genannten „Tiles“, das Landkartenbildmaterial. Daher war OpenStreetMap als zustimmungspflichtige Ressource in den Complianz-Einstellungen ausgewählt.
Recherchen führten mich alsbald zu einem Lösungsansatz, wie man erforderliche Ressourcen rechtzeitig verfügbar macht, um diesen Fehler zu vermeiden.
Hier der Code der benötigt wird (nur Teil eins, da openstreetmap bereits als Service existiert), jedoch nur für das oben angeführte Plugin funktioniert. Die externen Ressourcen waren vorher über die Links die man in den Einstellungen unter Leaflet Map findet geholt und auf den Server übertragen worden, die Linkeinstellungen entsprechend geändert.
add_filter( 'cmplz_known_script_tags', 'cmplz_leafletmaps_directory_script' );
function cmplz_leafletmaps_directory_script( $tags ) {
$tags[] = array(
'name' => 'openstreetmaps',
'category' => 'marketing',
'placeholder' => 'openstreetmaps',
'urls' => array(
'WPLeafletMapPlugin'
),
'enable_placeholder' => '1',
'placeholder_class' => 'leaflet-map',
'enable_dependency' => '1',
'dependency' => [
'leaflet.js' => 'https://my-local.host/and-directory/leaflet.js',
],
);
return $tags;
}
Link zur offiziellen Dokumentation von Complianz.
Schreibe einen Kommentar