[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fCzB9QVbYwFuovSQ-i50GtQDQnuXrotuFTYDzWEnHRe0":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":18,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":47,"crawl_stats":37,"alternatives":53,"analysis":146,"fingerprints":215},"elegant-custom-fonts","Elegant Custom Fonts","1.0.1","louisreingold","https:\u002F\u002Fprofiles.wordpress.org\u002Flouisreingold\u002F","\u003Cp>This plugin appears at Settings -> Fonts.\u003C\u002Fp>\n\u003Cp>For each @font-face, specify .woff URL, weight, style, and a font family name.\u003C\u002Fp>\n\u003Cp>Appropriate @font-face rules will be saved to a CSS file and enqueued with wp_enqueue_stylesheet, so that you can use the font with the font-family CSS property.\u003C\u002Fp>\n\u003Cp>No nonsense. No API keys. No font conversion. No bloat.\u003C\u002Fp>\n\u003Ch4>Integration Instructions for Plugin & Theme Developers\u003C\u002Fh4>\n\u003Cp>Use ECF_Plugin::get_font_families() to get a list of font families added with Elegant Custom Fonts. Then add these to any “Font” dropdowns in your plugin or theme.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cp>if (class_exists(‘ECF_Plugin’)) {\u003Cbr \u002F>\n    $font_family_list = ECF_Plugin::get_font_families();\u003Cbr \u002F>\n} else {\u003Cbr \u002F>\n    $font_family_list = null;\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003Cp>\u002F* loop through the $font_family_list array and add each family to your ‘Font’ dropdowns *\u002F\u003C\u002Fp>\n","A simple solution for self-hosted custom fonts.",3000,26434,100,3,"2023-08-13T21:54:00.000Z","6.3.8","4.1","",[20,21,22,23,24],"font-face","custom-fonts","font","typography","woff","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Felegant-custom-fonts.1.0.1.zip",85,1,0,"2023-03-03 00:00:00","2026-03-15T15:16:48.613Z",[32],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":6,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":29,"updated_date":43,"references":44,"days_to_patch":46},"CVE-2023-27436","elegant-custom-fonts-cross-site-request-forgery","Elegant Custom Fonts \u003C= 1.0 - Cross-Site Request Forgery","The Elegant Custom Fonts plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 1.0. This is due to missing nonce validation on the admin_page function. This makes it possible for unauthenticated attackers to modify the plugin's settings via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.",null,"\u003C=1.0","medium",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Cross-Site Request Forgery (CSRF)","2024-01-22 19:56:02",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fdadb6bf5-dbbd-4afb-8783-f6880dec2cbf?source=api-prod",326,{"slug":7,"display_name":7,"profile_url":8,"plugin_count":48,"total_installs":49,"avg_security_score":50,"avg_patch_time_days":46,"trust_score":51,"computed_at":52},2,3010,93,74,"2026-04-04T04:25:44.881Z",[54,72,85,109,130],{"slug":55,"name":56,"version":57,"author":58,"author_profile":59,"description":60,"short_description":61,"active_installs":62,"downloaded":63,"rating":28,"num_ratings":28,"last_updated":64,"tested_up_to":65,"requires_at_least":66,"requires_php":67,"tags":68,"homepage":18,"download_link":71,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"fontify","Fontify","1.0.0","Pouria Zahedi","https:\u002F\u002Fprofiles.wordpress.org\u002Fpouriazahedi\u002F","\u003Cp>Fontify lets you upload and apply custom fonts to your WordPress site easily.\u003C\u002Fp>\n\u003Cp>With Fontify, you can:\u003Cbr \u002F>\n– Upload .woff or .woff2 font files directly from the admin panel.\u003Cbr \u002F>\n– Apply the uploaded font site-wide, including the admin dashboard.\u003Cbr \u002F>\n– Avoid dealing with CSS or modifying theme files.\u003Cbr \u002F>\n– Fall back to system\u002Fdefault fonts if no custom font is uploaded.\u003C\u002Fp>\n\u003Cp>Once installed, visit Settings > Custom Font to configure your font.\u003Cbr \u002F>\nSimply upload a WOFF or WOFF2 file, type a font name (e.g., “MyFont”), and you’re done.\u003C\u002Fp>\n\u003Cp>This plugin is especially useful for branding, RTL websites, or localization needs.\u003C\u002Fp>\n","Upload and apply custom fonts (WOFF or WOFF2) to your entire WordPress site, including admin panel — without writing code.",20,435,"2025-05-04T14:57:00.000Z","6.8.5","5.0","7.2",[21,69,23,24,70],"font-uploader","woff2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffontify.zip",{"slug":73,"name":74,"version":75,"author":7,"author_profile":8,"description":76,"short_description":77,"active_installs":78,"downloaded":79,"rating":28,"num_ratings":28,"last_updated":18,"tested_up_to":80,"requires_at_least":17,"requires_php":18,"tags":81,"homepage":18,"download_link":83,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":84},"custom-fonts-for-beaver-builder","Custom Fonts For Beaver Builder","1.0","\u003Cp>Use Elegant Custom Fonts with Beaver Builder and Beaver Builder Theme.\u003C\u002Fp>\n","A simple solution for self-hosted custom fonts with Beaver Builder. https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=UU6IYikNPuI",10,1545,"4.9.29",[20,82,21,22,23],"beaver-builder","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-fonts-for-beaver-builder.1.0.zip","2026-03-15T10:48:56.248Z",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":95,"num_ratings":96,"last_updated":97,"tested_up_to":98,"requires_at_least":99,"requires_php":100,"tags":101,"homepage":104,"download_link":105,"security_score":106,"vuln_count":107,"unpatched_count":28,"last_vuln_date":108,"fetched_at":30},"use-any-font","Use Any Font | Custom Font Uploader","6.3.14","Dnesscarkey","https:\u002F\u002Fprofiles.wordpress.org\u002Fdnesscarkey\u002F","\u003Cp>Upload any custom fonts to give your site an elegant look. Easily change fonts without CSS knowledge or select from 23,871+ predefined fonts to add to your site, including Google fonts stored on your server.\u003C\u002Fp>\n\u003Cp>Click \u003Ca href=\"https:\u002F\u002Fdineshkarki.com.np\u002Fuse-any-font\u002Fdemo\" rel=\"nofollow ugc\">HERE\u003C\u002Fa> for a Use Any Font working demo.\u003C\u002Fp>\n\u003Cp>Use Any Font lets you install custom fonts in your WordPress website. Unlike other font embed services, it doesn’t limit your font choices or store your custom fonts on a remote server. Upload any font format (ttf, otf, woff) and our font uploader auto converts it to woff2 for faster load times and compatibility across all browsers. With our easy-to-use font uploader, you can seamlessly add custom fonts and manage your site’s typography. The plugin supports self-hosted and GDPR-compliant solutions, ensuring your fonts are SEO-friendly and quickly embedded with @font-face.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Easy Font Upload, Supports all browsers : \u003C\u002Fstrong>\u003Cbr \u002F>\nUpload font in one format, all required format for browser compatibily is auto converted by our font convertor. Supports ttf, otf, woff, and woff2 font formats.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fastest Font Load ( 30% Faster ) : \u003C\u002Fstrong>\u003Cbr \u002F>\nAutomatically convert uploaded custom fonts to compressed woff2 format with Brotli, achieving 30% faster loading.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Font Assign : \u003C\u002Fstrong>\u003Cbr \u002F>\nQuickly assign uploaded font with inbuilt font assign interface. You can select pre defined html tags or assign it to custom css.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO Friendly & GDPR compliant : \u003C\u002Fstrong>\u003Cbr \u002F>\nFonts embedded with @font-face CSS for quick loading and SEO benefits. Custom Fonts are stored on Your Server for Faster Loading and full GDPR compliant \u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Large Font Upload upto 25 MB : \u003C\u002Fstrong>\u003Cbr \u002F>\nSome fonts are larger in size. Our font uploader allows you to upload custom font upto 25 MB. \u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Font Variations : \u003C\u002Fstrong>\u003Cbr \u002F>\nUpload custom fonts with their various styles and weights. \u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Editor and Visual Builder Support : \u003C\u002Fstrong>\u003Cbr \u002F>\nUse uploaded custom fonts from WordPress Editor, Gutenberg Editor,\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.elegantthemes.com\u002Faffiliates\u002Fidevaffiliate.php?id=39880\" title=\"custom font in Divi builder\" rel=\"nofollow ugc\">Divi Builder\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsiteorigin-panels\u002F\" title=\"Custom font in Site Origin Page Buider\" rel=\"ugc\">Site Origin Page Buider\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Felementor\u002F\" title=\"Elementor Page Builder\" rel=\"ugc\">Elementor Page Builder\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwww.wpbeaverbuilder.com\u002F?fla=2054&campaign=use-any-font\" title=\"custom font in Beaver Builder\" rel=\"nofollow ugc\">Beaver Builder\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fthemify.me\u002Fmember\u002Faff\u002Fgo\u002Fdnesscarkey\u002F?cr=aHR0cHM6Ly90aGVtaWZ5Lm1lL2J1aWxkZXI=\" title=\"custom font in Themify Builder\" rel=\"nofollow ugc\">Themify Builder\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fthemes\u002Fkadence\u002F\" title=\"custom font in Kadence Theme and Kadence Blocks\" rel=\"ugc\">Kadence Theme and Blocks\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Foxygenbuilder.com\u002F\" title=\"custom font in Oxygen Builder\" rel=\"nofollow ugc\">Oxygen Builder\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fthemes\u002Fgeneratepress\u002F\" title=\"custom font in Generate Press\" rel=\"ugc\">Generate Press\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fthemes\u002Fastra\u002F\" title=\"custom font in Astra Theme\" rel=\"ugc\">Astra Theme\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fthemes\u002Foceanwp\u002F\" title=\"custom font in Revolution Slider\" rel=\"ugc\">Ocean WP Theme\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fbricksbuilder.io\u002F\" title=\"custom font in Bricks Builder\" rel=\"nofollow ugc\">Bricks Builder\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fthemeisle.com\u002F\" title=\"custom font in themeisle neva theme\" rel=\"nofollow ugc\">Themeisle\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fbit.ly\u002F3auJKzt\" title=\"custom font in Revolution Slider\" rel=\"nofollow ugc\">Revolution Slider\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwpbakery.com\u002F\" title=\"custom font in WPBakery Page Builder\" rel=\"nofollow ugc\">WPBakery Page Builder ( Js Composer )\u003C\u002Fa>,\u003Cbr \u002F>\nMore… and any visual builder using the class. \u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme Compatibility : \u003C\u002Fstrong>\u003Cbr \u002F>\nCustom fonts uploaded can be directly used from Theme options panel for major themeforest themes like \u003Ca href=\"https:\u002F\u002Fbit.ly\u002F3auJKzt\" rel=\"nofollow ugc\">Avada, X Theme, Flatsome, Salient, Porto, Shopkeeper, Oshine, WPLMS Learning Management System Theme, KLEO, WoodMart, ListingPro, SimpleMag, ROSA 1, 907, Voice, Grand Restaurant, LeadEngine, Service Finder, MagPlus, Hostiko, Adifier, Puca, GreenMart, Reco, VidoRev, Halena and many more known themes. (1000+). Check out full list here.\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Language Support : \u003C\u002Fstrong>\u003Cbr \u002F>\nAssign fonts based on language with WPML and Polylang plugins.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Font Display Property : \u003C\u002Fstrong>\u003Cbr \u002F>\nCSS property managing font loading behavior in @font-face.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Support\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Visit our \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fuse-any-font\u002F\" rel=\"ugc\">Support Forum\u003C\u002Fa> for quick issue resolution.\u003C\u002Fli>\n\u003Cli>Utilize our Facebook Message widget on our website at \u003Ca href=\"https:\u002F\u002Fdineshkarki.com.np\" rel=\"nofollow ugc\">https:\u002F\u002Fdineshkarki.com.np\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Reach out via email using the form found at \u003Ca href=\"https:\u002F\u002Fdineshkarki.com.np\u002Fcontact\" rel=\"nofollow ugc\">https:\u002F\u002Fdineshkarki.com.np\u002Fcontact\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Font Conversion API Usage\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>You need API key to connect to our server for font conversion. Our server converts your font and sends it back. You can get key from \u003Ca href=\"https:\u002F\u002Fdineshkarki.com.np\u002Fuse-any-font\u002Fapi-key\" rel=\"nofollow ugc\">here\u003C\u002Fa>. You can also generate Lite \u002F Test API key from button at top of the plugin page. \u003Cstrong>Note : \u003C\u002Fstrong> Lite \u002F Test API only allow single font conversion.\u003C\u002Fli>\n\u003Cli>Use Any Font uses Font Conversion API developed by Dnesscarkey. Font conversion API helps the plugin to convert the font files in different format (woff, woff2 but not limited to) for faster loading, and multiple browser support. Plugins sends the request to Font conversion server with font files, font conversion server converts it and returns the converted files. Once the conversion is completed, font files are automatically deleted.\u003C\u002Fli>\n\u003Cli>We don’t store your fonts in our server neither any of your information except the API key details. Our server deletes the temporary file after the font upload is complete. Your font files are served from your own server.\u003C\u002Fli>\n\u003Cli>For font conversion, our plugin uses server2.dnesscarkey.org and server3.dnesscarkey.org and it is only dedicated to Use Any Font plugin.\u003C\u002Fli>\n\u003Cli>For Font Conversion API terms and condition. Please visit \u003Ca href=\"https:\u002F\u002Fdineshkarki.com.np\u002Fuse-any-font\u002Fterms-conditions\" rel=\"nofollow ugc\">here\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Installation Video\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FQzGaWIPVwEk?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Integration for Themes \u002F Plugin Developers\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>You can use \u003Cstrong>uaf_get_font_families();\u003C\u002Fstrong> function to get the list of custom fonts uploaded with Use Any Font. You can add it in your font family select box or list.\u003C\u002Fp>\n\u003Cp>\u003Cem>if (function_exists(‘uaf_get_font_families’)){\u003Cbr \u002F>\n    $uaf_font_families = uaf_get_font_families();   \u002F\u002F Returns Array\u003Cbr \u002F>\n}\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Please do write us after integration and we will add it in our supported list and create a discount code for your users.\u003C\u002Fp>\n","Upload custom fonts with custom font uploader. Auto converts to woff2 for better performance. Self-hosted, GDPR compliant, and easy custom font plugin",200000,7221706,94,1143,"2025-12-20T04:17:00.000Z","6.9.4","4.0","7.0",[21,102,69,103,23],"font-manager","google-fonts","https:\u002F\u002Fdineshkarki.com.np\u002Fuse-any-font","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fuse-any-font.6.3.14.zip",97,4,"2024-09-25 00:00:00",{"slug":110,"name":111,"version":112,"author":113,"author_profile":114,"description":115,"short_description":116,"active_installs":117,"downloaded":118,"rating":119,"num_ratings":120,"last_updated":121,"tested_up_to":122,"requires_at_least":99,"requires_php":18,"tags":123,"homepage":127,"download_link":128,"security_score":119,"vuln_count":27,"unpatched_count":28,"last_vuln_date":129,"fetched_at":30},"seed-fonts","Seed Fonts","2.4.2","Seed Webs","https:\u002F\u002Fprofiles.wordpress.org\u002Fseedthemes\u002F","\u003Cp>Seed Fonts is WordPress plugin that helps you use web fonts (@font-face embed) easier. You can use by\u003C\u002Fp>\n\u003Col>\n\u003Cli>Google Fonts\u003C\u002Fli>\n\u003Cli>Bundled Thai-English fonts\u003C\u002Fli>\n\u003Cli>Your own web fonts. (Upload to \u002Fwp-content\u002Fupload\u002Ffonts\u002Ffontname\u002F or \u002Fwp-content\u002Fthemes\u002FThemeName\u002Fvendor\u002Ffonts\u002Ffontname\u002F – lowercase is recommended.)\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The GitHub repository can be found at \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSeedWebs\u002Fseed-fonts\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002FSeedWebs\u002Fseed-fonts\u003C\u002Fa>.\u003C\u002Fp>\n","Use web fonts (@font-face) by choosing from Google Fonts, Bundled Thai-English fonts, and your own web fonts.",20000,179556,92,16,"2024-08-06T04:03:00.000Z","6.6.5",[124,23,125,126],"font-face-embed","web-fonts","webfont","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fseed-fonts\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fseed-fonts.2.4.2.zip","2023-06-16 00:00:00",{"slug":131,"name":132,"version":133,"author":134,"author_profile":135,"description":136,"short_description":137,"active_installs":62,"downloaded":138,"rating":28,"num_ratings":28,"last_updated":18,"tested_up_to":98,"requires_at_least":139,"requires_php":140,"tags":141,"homepage":144,"download_link":145,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":84},"safefonts","SafeFonts","1.2.0","Chris Martens","https:\u002F\u002Fprofiles.wordpress.org\u002Fchrmrtns\u002F","\u003Cp>\u003Cstrong>SafeFonts helps you comply with GDPR by hosting fonts locally and avoiding third-party requests, with seamless Gutenberg integration and CSS variables support.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If you need to host custom fonts locally on your WordPress site for performance, privacy, or GDPR compliance, SafeFonts makes it simple with advanced security validation, automatic integration with the WordPress block editor, and CSS variables for custom CSS usage.\u003C\u002Fp>\n\u003Ch4>Compatible With\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Block Editors:\u003C\u002Fstrong>\u003Cbr \u002F>\n* WordPress Gutenberg Block Editor\u003Cbr \u002F>\n* WordPress 6.5+ Font Library\u003Cbr \u002F>\n* Full Site Editing (FSE) Themes\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Need Page Builder Integration?\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fsafefonts.com\" rel=\"nofollow ugc\">SafeFonts Pro\u003C\u002Fa> adds seamless support for 14 integrations: Elementor, Bricks, Beaver Builder, Divi, Oxygen, Brizy, Builderius, Astra, GeneratePress, Kadence, Blocksy, Kadence Blocks, Spectra, and GenerateBlocks with zero configuration.\u003C\u002Fp>\n\u003Ch4>Why Choose SafeFonts?\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>🔒 Security-First Approach\u003C\u002Fstrong>\u003Cbr \u002F>\n* Magic byte validation for all font files\u003Cbr \u002F>\n* MIME type verification\u003Cbr \u002F>\n* File hash checking\u003Cbr \u002F>\n* Configurable file size limits\u003Cbr \u002F>\n* Protection against malicious uploads\u003C\u002Fp>\n\u003Cp>\u003Cstrong>⚡ Fast & Lightweight\u003C\u002Fstrong>\u003Cbr \u002F>\n* Custom database storage for instant queries\u003Cbr \u002F>\n* Designed to minimize impact on page load speed\u003Cbr \u002F>\n* Optimized font delivery\u003Cbr \u002F>\n* Works with any theme or page builder\u003C\u002Fp>\n\u003Cp>\u003Cstrong>✅ Gutenberg Integration\u003C\u002Fstrong>\u003Cbr \u002F>\n* Automatic integration with block editor typography\u003Cbr \u002F>\n* WordPress 6.5+ Font Library support\u003Cbr \u002F>\n* Works with all blocks that support typography\u003Cbr \u002F>\n* No configuration needed\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎨 CSS Variables Support\u003C\u002Fstrong>\u003Cbr \u002F>\n* Automatic CSS variables generation for all fonts\u003Cbr \u002F>\n* Use var(–safefonts-font-slug) in custom CSS\u003Cbr \u002F>\n* Works with any theme or builder supporting CSS custom properties\u003Cbr \u002F>\n* Dedicated CSS Reference page with comprehensive documentation\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎥 Quick Start Video\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FaktC4iLSwpI?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Cp>Watch this quick tutorial to see how easy it is to upload and use custom fonts in WordPress.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎯 Simple Upload Process\u003C\u002Fstrong>\u003Cbr \u002F>\n* Individual font file uploads (.woff2, .woff, .ttf, .otf)\u003Cbr \u002F>\n* Specify font family, weight, and style\u003Cbr \u002F>\n* Visual font previews in admin\u003Cbr \u002F>\n* Drag-and-drop ready interface\u003C\u002Fp>\n\u003Cp>\u003Cstrong>⚡ Performance Optimization\u003C\u002Fstrong>\u003Cbr \u002F>\n* Font preloading support for faster page loads\u003Cbr \u002F>\n* Automatic preload tag generation: \u003Ccode>\u003Clink rel=\"preload\" href=\"...\" as=\"font\">\u003C\u002Fcode>\u003Cbr \u002F>\n* User-selectable fonts for preloading (Settings tab)\u003Cbr \u002F>\n* Best practice: Preload 1-2 critical fonts only\u003Cbr \u002F>\n* Reduces flash of invisible text (FOIT)\u003Cbr \u002F>\n* Improves Core Web Vitals scores\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🌍 GDPR Compliant\u003C\u002Fstrong>\u003Cbr \u002F>\n* Local font hosting\u003Cbr \u002F>\n* No external font requests—fonts are served entirely from your WordPress installation\u003Cbr \u002F>\n* Complete data privacy\u003Cbr \u002F>\n* Suitable for GDPR-compliant sites\u003C\u002Fp>\n\u003Ch4>Perfect For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Privacy-conscious websites requiring GDPR compliance\u003C\u002Fli>\n\u003Cli>Sites that need custom or premium fonts\u003C\u002Fli>\n\u003Cli>Agencies managing multiple client sites\u003C\u002Fli>\n\u003Cli>Anyone wanting better control over typography\u003C\u002Fli>\n\u003Cli>Performance-optimized websites\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Upload Fonts\u003C\u002Fstrong>: Go to SafeFonts menu and upload your font files\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configure Details\u003C\u002Fstrong>: Set font family name, weight (100-900), and style (normal\u002Fitalic)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Use Everywhere\u003C\u002Fstrong>: Your fonts automatically appear in:\n\u003Cul>\n\u003Cli>Gutenberg block editor typography settings\u003C\u002Fli>\n\u003Cli>CSS variables for custom CSS (check CSS Reference page)\u003C\u002Fli>\n\u003Cli>WordPress 6.5+ Font Library\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>That’s It!\u003C\u002Fstrong> Fonts are served locally with optimal performance\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Getting Google Fonts\u003C\u002Fh4>\n\u003Cp>Download Google Fonts from these sources:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebfontdownloader.safefonts.com\" rel=\"nofollow ugc\">SafeFonts Web Font Downloader\u003C\u002Fa> – convenient bulk download tool\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Ffonts\" rel=\"nofollow ugc\">Google Fonts GitHub\u003C\u002Fa> – official repository\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgwfh.mranftl.com\u002Ffonts\" rel=\"nofollow ugc\">Google Webfonts Helper\u003C\u002Fa> – third-party download tool\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Once downloaded, upload the font files (.woff2, .woff, .ttf, .otf) through SafeFonts > Upload tab.\u003C\u002Fp>\n\u003Cp>Need more features? SafeFonts Pro offers bulk ZIP imports, page builder integration, and advanced font management. \u003Ca href=\"https:\u002F\u002Fsafefonts.com\" rel=\"nofollow ugc\">Learn more\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Supported Font Formats\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>WOFF2\u003C\u002Fstrong> (recommended – best compression)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WOFF\u003C\u002Fstrong> (broad browser support)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>TTF\u003C\u002Fstrong> (TrueType fonts)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>OTF\u003C\u002Fstrong> (OpenType fonts)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>WordPress 6.5+ Font Library\u003C\u002Fh4>\n\u003Cp>If you’re using WordPress 6.5 or higher, SafeFonts automatically integrates with the native Font Library in the Site Editor, giving you a unified font management experience.\u003C\u002Fp>\n\u003Ch3>Developer Documentation\u003C\u002Fh3>\n\u003Ch4>Template Functions\u003C\u002Fh4>\n\u003Cp>SafeFonts provides helper functions for developers:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>safefonts() - Get the main plugin instance\nsafefonts()->font_manager->get_fonts() - Get all fonts from database\nsafefonts()->font_manager->get_fonts_by_family() - Get fonts grouped by family\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Hooks & Filters\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Filters:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>upload_mimes\u003C\u002Fcode> – SafeFonts adds font MIME types automatically\u003C\u002Fp>\n\u003Ch4>Database Structure\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Table:\u003C\u002Fstrong> \u003Ccode>wp_chrmrtns_safefonts\u003C\u002Fcode>\u003Cbr \u002F>\n* \u003Ccode>id\u003C\u002Fcode> – Font ID\u003Cbr \u002F>\n* \u003Ccode>font_family\u003C\u002Fcode> – Font family name\u003Cbr \u002F>\n* \u003Ccode>family_slug\u003C\u002Fcode> – Sanitized family slug for folder names (v1.1.0+)\u003Cbr \u002F>\n* \u003Ccode>font_style\u003C\u002Fcode> – normal or italic\u003Cbr \u002F>\n* \u003Ccode>font_weight\u003C\u002Fcode> – 100-900\u003Cbr \u002F>\n* \u003Ccode>file_path\u003C\u002Fcode> – Relative path to font file (includes family folder v1.1.0+)\u003Cbr \u002F>\n* \u003Ccode>file_hash\u003C\u002Fcode> – SHA-256 hash for integrity\u003Cbr \u002F>\n* \u003Ccode>file_size\u003C\u002Fcode> – File size in bytes\u003Cbr \u002F>\n* \u003Ccode>mime_type\u003C\u002Fcode> – Validated MIME type\u003Cbr \u002F>\n* \u003Ccode>created_at\u003C\u002Fcode> – Upload timestamp\u003Cbr \u002F>\n* \u003Ccode>updated_at\u003C\u002Fcode> – Last update timestamp\u003C\u002Fp>\n\u003Ch4>Architecture\u003C\u002Fh4>\n\u003Cp>SafeFonts uses modern PHP namespaces and PSR-4 autoloading:\u003Cbr \u002F>\n* \u003Ccode>Chrmrtns\\SafeFonts\\Core\u003C\u002Fcode> – Main plugin class\u003Cbr \u002F>\n* \u003Ccode>Chrmrtns\\SafeFonts\\FontManager\u003C\u002Fcode> – Font validation and management\u003Cbr \u002F>\n* \u003Ccode>Chrmrtns\\SafeFonts\\Admin\\AdminInterface\u003C\u002Fcode> – Admin UI\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, feature requests, or bug reports, please visit:\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fchrmrtns\u002Fsafefonts\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fsafefonts.com\" rel=\"nofollow ugc\">Website\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>SafeFonts does not collect, store, or transmit any personal data. All font files are stored locally on your WordPress installation. No data is sent to external services.\u003C\u002Fp>\n","Host custom fonts locally in WordPress with advanced security validation, block editor integration, and CSS variables support.",465,"6.2","7.4",[21,142,103,143,23],"fonts","gutenberg","https:\u002F\u002Fsafefonts.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsafefonts.1.2.0.zip",{"attackSurface":147,"codeSignals":162,"taintFlows":199,"riskAssessment":200,"analyzedAt":214},{"hooks":148,"ajaxHandlers":158,"restRoutes":159,"shortcodes":160,"cronEvents":161,"entryPointCount":28,"unprotectedCount":28},[149,154],{"type":150,"name":151,"callback":151,"file":152,"line":153},"action","admin_menu","elegant-custom-fonts.php",19,{"type":150,"name":155,"callback":156,"file":152,"line":157},"wp_enqueue_scripts","enqueue_stylesheet",22,[],[],[],[],{"dangerousFunctions":163,"sqlUsage":172,"outputEscaping":174,"fileOperations":48,"externalRequests":28,"nonceChecks":27,"capabilityChecks":28,"bundledLibraries":198},[164,168,170],{"fn":165,"file":152,"line":166,"context":167},"unserialize",39,"$FontData = unserialize(get_option(ECF_OPTION_NAME));",{"fn":165,"file":152,"line":169,"context":167},380,{"fn":165,"file":152,"line":171,"context":167},422,{"prepared":28,"raw":28,"locations":173},[],{"escaped":175,"rawEcho":176,"locations":177},5,9,[178,182,184,186,188,190,192,194,196],{"file":179,"line":180,"context":181},"ECF_FontData.php",51,"raw output",{"file":179,"line":183,"context":181},54,{"file":152,"line":185,"context":181},110,{"file":152,"line":187,"context":181},116,{"file":152,"line":189,"context":181},263,{"file":152,"line":191,"context":181},271,{"file":152,"line":193,"context":181},284,{"file":152,"line":195,"context":181},351,{"file":152,"line":197,"context":181},354,[],[],{"summary":201,"deductions":202},"The \"elegant-custom-fonts\" plugin v1.0.1 exhibits a mixed security posture. On one hand, the static analysis reveals a commendable lack of direct entry points like AJAX handlers, REST API routes, or shortcodes that are exposed without authentication. Furthermore, all SQL queries are properly prepared, which is a significant strength in preventing SQL injection vulnerabilities. However, concerns arise from the presence of dangerous functions, specifically `unserialize`, which, if not handled with extreme caution and validation, can lead to deserialization vulnerabilities.  The relatively low percentage of properly escaped output (36%) also indicates potential for cross-site scripting (XSS) vulnerabilities, as data displayed to users might not be adequately sanitized.\n\nThe vulnerability history shows a past medium-severity CVE, primarily related to Cross-Site Request Forgery (CSRF). While there are no currently unpatched vulnerabilities, the existence of a past CSRF issue, coupled with the lack of capability checks in the static analysis, suggests that input validation and permission checks might be areas requiring improvement. The absence of taint analysis results is noted, but the identified code signals, particularly `unserialize` and the low output escaping rate, represent tangible risks that need attention.  Overall, the plugin has a solid foundation in terms of attack surface and SQL security, but the identified code signals and historical vulnerability warrant careful consideration and potential remediation to enhance its security.",[203,206,209,211],{"reason":204,"points":205},"Dangerous function unserialize found",15,{"reason":207,"points":208},"Low output escaping percentage (36%)",8,{"reason":210,"points":78},"Past medium severity CVE (CSRF)",{"reason":212,"points":213},"No capability checks found",7,"2026-03-16T18:21:29.524Z",{"wat":216,"direct":222},{"assetPaths":217,"generatorPatterns":219,"scriptPaths":220,"versionParams":221},[218],"\u002Fwp-content\u002Fplugins\u002Felegant-custom-fonts\u002Fecf.css",[],[],[],{"cssClasses":223,"htmlComments":233,"htmlAttributes":241,"restEndpoints":243,"jsGlobals":244,"shortcodeOutput":246},[224,225,226,227,228,229,230,231,232],"ecf-admin-fontcard-toprow","ecf-admin-add-font-face-form","ecf-font-face-rules","ecf-admin-add-font-family-form","ecf-font-face-rules pre","ecf-add-font-face-toggle-button","ecf-view-font-face-rules-toggle-button","ecf-add-font-family-button","ecf-admin-font-family-card",[234,235,236,237,238,239,240],"inline styles cause that's how i roll sometimes.\ndon't hate. \n","inline scripts too cause that's how i roll sometimes.\ndon't hate. \n","Dear User,\n","\nBefore you \u003Ca href='#' class='ecf-add-font-family-button'>add your first font family\u003C\u002Fa>, do you know what makes a website look elegant?\n","\nA major factor is the quality of its typography.\n","\nTo learn how to make your typography great, I recommend reading Matthew Butterick's article \u003Ca href='https:\u002F\u002Fpracticaltypography.com\u002Ftypography-in-ten-minutes.html' target='_blank'>Typography in Ten Minutes\u003C\u002Fa> or his excellent book \u003Ca href='https:\u002F\u002Fpracticaltypography.com\u002F' target='_blank'>Practical Typography\u003C\u002Fa>.\n","\nBest Regards,\n",[242],"for=\"font_family_name\"",[],[245],"jQuery",[]]