true, 'date-*' => true, 'id' => true, 'type' => true, 'value' => true, ]; } $html['script'] = [ 'type' => true, ]; } return $html; } /** * Enqueue assets. */ public static function enqueue_assets() { if ( Theme::is( 'Divi' ) ) { \wp_enqueue_script( 'embed-privacy-divi' ); \wp_enqueue_style( 'embed-privacy-divi' ); } } /** * Replace Google Maps Markup in Divi. * * @param string $output Current output * @param string $render_method Divi render method * @param \ET_Builder_Module $module Module instance * @return string Updated output */ public static function replace_google_maps( $output, $render_method, $module ) { if ( $render_method === 'render_as_builder_data' ) { return $output; } if ( ! $module instanceof \ET_Builder_Module_Map ) { return $output; } global $wp_scripts; Embed_Privacy::get_instance()->has_embed = true; Embed_Privacy::get_instance()->frontend->print_assets(); $output .= \sprintf( '', \esc_attr( $wp_scripts->registered['google-maps-api']->handle . '-embed-privacy' ), \esc_url( \add_query_arg( [ 'key' => \et_pb_get_google_api_key(), 'v' => 3, 'ver' => $wp_scripts->registered['google-maps-api']->ver, ], $wp_scripts->registered['google-maps-api']->src ) ) ); $output .= ""; return Template::get( Providers::get_instance()->get_by_name( 'google-maps' ), $output ); } /** * Register assets. * * @param bool $is_debug Whether debug mode is enabled * @param string $suffix A filename suffix */ public static function register_assets( $is_debug, $suffix ) { $js_file_url = \EPI_EMBED_PRIVACY_URL . 'assets/js/divi' . $suffix . '.js'; $file_version = $is_debug ? \filemtime( \EPI_EMBED_PRIVACY_BASE . 'assets/js/divi' . $suffix . '.js' ) : \EMBED_PRIVACY_VERSION; \wp_register_script( 'embed-privacy-divi', $js_file_url, [], $file_version, [ 'strategy' => 'defer' ] ); $css_file_url = \EPI_EMBED_PRIVACY_URL . 'assets/style/divi' . $suffix . '.css'; $file_version = $is_debug ? \filemtime( \EPI_EMBED_PRIVACY_BASE . 'assets/style/divi' . $suffix . '.css' ) : \EMBED_PRIVACY_VERSION; \wp_register_style( 'embed-privacy-divi', $css_file_url, [], $file_version ); } /** * Remove filter for dynamic content. * * @since 1.10.9 * * @param string $content Current dynamic content * @return string Current dynamic content */ public static function remove_dynamic_content_filter( $content ) { \remove_filter( 'wp_kses_allowed_html', [ self::class, 'allow_script_in_post' ], 10 ); return $content; } }