'47.1092664', 'lon' => '12.3453356', 'popup_text' => '', 'color' => '#ff0000', 'height' => '450px', 'zoom' => '16.5' ), $atts, 'openfreemap'); $lat = is_numeric($atts['lat']) ? (float) $atts['lat'] : 47.1092664; $lon = is_numeric($atts['lon']) ? (float) $atts['lon'] : 12.3453356; $zoom = is_numeric($atts['zoom']) ? (float) $atts['zoom'] : 16.5; $color = sanitize_hex_color($atts['color']); if (!$color) { $color = '#ff0000'; } $height = sanitize_text_field($atts['height']); $map_id = wp_unique_id('openfreemap-'); ob_start(); ?>
post_content, 'openfreemap')) { add_action('wp_enqueue_scripts', 'openfreemap_enqueue_shortcode_assets'); break; // Only need to enqueue once } } return $posts; } add_filter('the_posts', 'openfreemap_detect_shortcode'); // Enqueue scripts and styles only if shortcode is used function openfreemap_enqueue_shortcode_assets() { $plugin_url = plugin_dir_url(__FILE__); wp_enqueue_style( 'openfreemap-style', $plugin_url . 'vendor/maplibre-gl/maplibre-gl.css' ); $load_in_footer = false; wp_enqueue_script( 'openfreemap-script', $plugin_url . 'assets/openfreemap.js', array(), null, $load_in_footer ); add_filter('script_loader_tag', function ($tag, $handle, $src) { if ($handle === 'openfreemap-script') { return ''; } return $tag; }, 10, 3); } add_action('wp_enqueue_scripts', 'openfreemap_enqueue_shortcode_assets');