@@ -62,6 +62,14 @@ private function __construct() {
6262 add_filter ( 'manage_owc_ok_datalayer_posts_columns ' , [ 'Openkaarten_Base_Plugin\Admin\Admin ' , 'manage_datalayer_posts_columns ' ] );
6363
6464 add_action ( 'save_post ' , [ 'Openkaarten_Base_Plugin\Admin\Admin ' , 'flush_cache_for_specific_endpoints ' ], 10 , 1 );
65+
66+ // Trigger save options for OpenKaarten base settings to flush the cache.
67+ add_action ( 'add_option_openkaarten_base_default_lat ' , [ 'Openkaarten_Base_Plugin\Admin\Admin ' , 'flush_openkaarten_datasets_cache ' ] );
68+ add_action ( 'update_option_openkaarten_base_default_lat ' , [ 'Openkaarten_Base_Plugin\Admin\Admin ' , 'flush_openkaarten_datasets_cache ' ] );
69+ add_action ( 'add_option_openkaarten_base_default_lng ' , [ 'Openkaarten_Base_Plugin\Admin\Admin ' , 'flush_openkaarten_datasets_cache ' ] );
70+ add_action ( 'update_option_openkaarten_base_default_lng ' , [ 'Openkaarten_Base_Plugin\Admin\Admin ' , 'flush_openkaarten_datasets_cache ' ] );
71+ add_action ( 'add_option_openkaarten_base_default_zoom ' , [ 'Openkaarten_Base_Plugin\Admin\Admin ' , 'flush_openkaarten_datasets_cache ' ] );
72+ add_action ( 'update_option_openkaarten_base_default_zoom ' , [ 'Openkaarten_Base_Plugin\Admin\Admin ' , 'flush_openkaarten_datasets_cache ' ] );
6573 }
6674
6775 /**
@@ -509,4 +517,13 @@ public static function flush_cache_for_specific_endpoints( $post_id = null ) {
509517 break ;
510518 }
511519 }
520+
521+ /**
522+ * Flush the OpenKaarten base settings cache.
523+ *
524+ * @return void
525+ */
526+ public static function flush_openkaarten_datasets_cache () {
527+ Caching::get_instance ()->delete_cache_by_endpoint ( '%/owc/openkaarten/v1/datasets ' , Caching::FLUSH_LOOSE , true );
528+ }
512529}
0 commit comments