1-Click WOFF2 Enabler
1-Click WOFF2 Enabler unlocks modern web font uploads on your WordPress site. Activate the plugin and you're done - no settings to configure, no code to paste.
by Billionaires Font · github.com/billionairesfont/1-click-woff2-enable-for-wordpress · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/billionairesfont/1-click-woff2-enable-for-wordpress/archive/refs/heads/main.zipReadme
1-Click WOFF2 Enabler for WordPress
Unlock modern web font uploads in your WordPress Media Library — zero configuration, zero bloat.
By default, WordPress blocks uploads of .woff2, .woff, .ttf, and .otf font files through the Media Library — forcing developers to write custom filter code or install bloated, tracking-heavy plugins just to upload a font. 1-Click WOFF2 Enabler fixes this with a single activation. No settings to configure, no code to paste, no frontend overhead.
Table of Contents
- Why This Plugin
- Features
- Supported Font Formats
- Installation
- Usage
- How It Works
- Frequently Asked Questions
- Screenshots
- Project Structure
- Development
- Changelog
- Security
- Contributing
- License
- Credits
Why This Plugin
WordPress core deliberately restricts uploadable MIME types for security reasons, and modern web font formats aren't whitelisted out of the box. That leaves you with three bad options: edit your theme's functions.php, install a heavyweight "font manager" plugin loaded with upsells and tracking, or give up and host your fonts elsewhere.
1-Click WOFF2 Enabler takes a fourth option: a focused, single-purpose plugin that does exactly one thing — safely allow font uploads — and does nothing else.
Features
- ✅ One-click activation — no setup wizard, no settings to fill in.
- ✅ Adds support for
.woff2,.woff,.ttf, and.otfuploads. - ✅ Native WordPress admin UI, built with
@wordpress/componentsfor a consistent, on-brand experience. - ✅ Zero frontend footprint — admin assets load only on the plugin's own settings page.
- ✅ Hardened uploads — re-validates file extensions against approved MIME types via WordPress's built-in
wp_check_filetype_and_extfilter to guard against MIME spoofing. - ✅ Fully translation-ready (i18n) for both PHP and JavaScript strings.
- ✅ No tracking, no analytics, no upsell popups.
Supported Font Formats
| Format | Extension | Use Case |
|---|---|---|
| WOFF2 | .woff2 |
Modern, highly compressed, best for production |
| WOFF | .woff |
Broad legacy browser support |
| TTF | .ttf |
TrueType, common source format |
| OTF | .otf |
OpenType, common source format |
Installation
Option A — Manual Upload
- Download or clone this repository.
- Upload the
1-click-woff2-enablerfolder to your/wp-content/plugins/directory. - In your WordPress admin, go to Plugins and activate 1-Click WOFF2 Enabler.
Option B — WordPress Plugins Screen
- In your WordPress admin, go to Plugins → Add New.
- Upload the plugin
.zipfile. - Click Activate.
Option C — Composer / Git (developers)
cd wp-content/plugins
git clone https://github.com/BillionairesFont/1-Click-WOFF2-Enable-for-WordPress.git 1-click-woff2-enabler
Then activate it from the WordPress admin Plugins screen.
Usage
- Activate the plugin.
- Go to Settings → WOFF2 Enabler to confirm font uploads are enabled.
- Go to Media → Add New and upload your
.woff2,.woff,.ttf, or.otffiles like any other media file. - Reference the uploaded font URL in your theme, page builder, or custom
@font-faceCSS rule.
Works seamlessly with Elementor, Bricks, Divi, and any other page builder or custom theme, since fonts are stored in the standard Media Library and accessible by URL.
How It Works
The plugin hooks into WordPress core's upload_mimes filter to safely whitelist the font MIME types modern sites need. To prevent MIME-spoofing attacks (where a malicious file is renamed to look like a font), every upload is re-validated against its real file signature using WordPress's built-in wp_check_filetype_and_ext filter before it's accepted into the Media Library.
The admin settings screen is a lightweight React application built with @wordpress/components, matching the native WordPress admin look and feel. Its JavaScript and CSS assets are conditionally enqueued — they load only when you're on the plugin's own settings page, so there is no added weight anywhere else in wp-admin or on your live site.
Frequently Asked Questions
Does this plugin slow down my site? No. Admin assets load exclusively on the plugin's own settings page. It adds zero JavaScript and zero CSS to your site's frontend.
Is uploading custom fonts safe?
Yes. Every upload is re-validated against approved MIME types using WordPress's built-in wp_check_filetype_and_ext filter before being saved.
Can I use this with page builders like Elementor, Bricks, or Divi?
Yes. Once uploaded, font files live in the Media Library and can be referenced by URL from any theme, builder, or custom @font-face rule.
Does this plugin send any data anywhere? No. There is no tracking, no analytics, and no remote calls of any kind.
Where can I get well-optimized WOFF2 fonts to upload? You can convert and download production-ready WOFF2, WOFF, TTF, and OTF font files at Billionaires Font — see Credits below.
Screenshots
- Admin dashboard — confirms custom font uploads are enabled.
- Media Library — custom font files uploading successfully.
(See the /src directory and the WordPress.org-style readme.txt for additional asset references.)
Project Structure
1-Click-WOFF2-Enable-for-WordPress/
├── .github/ # GitHub configuration (issue templates, workflows)
├── src/ # React admin UI source (@wordpress/components)
├── 1-click-woff2-enabler.php # Main plugin bootstrap file
├── package.json # Build dependencies and scripts
├── readme.txt # WordPress.org-formatted plugin readme
└── README.md # This file
Development
This plugin's admin interface is built with the WordPress JavaScript stack (@wordpress/components, @wordpress/scripts).
# Install dependencies
npm install
# Start the development build with file watching
npm start
# Create a production build
npm run build
Requirements
| Requirement | Version |
|---|---|
| WordPress | 5.8 or later |
| PHP | 7.2 or later |
| Node.js / npm | For local development of the /src admin UI |
Changelog
1.0.0
- Initial release.
- Enable WOFF, WOFF2, TTF, and OTF uploads via the
upload_mimesfilter. - React-powered admin settings page built with
@wordpress/components. - Full i18n support for PHP and JavaScript.
Security
This plugin re-validates every upload's real file type using WordPress's built-in wp_check_filetype_and_ext filter, preventing disguised or spoofed files from being accepted as fonts. If you discover a security issue, please open an issue in this repository rather than disclosing it publicly.
Contributing
Issues and pull requests are welcome. If you're proposing a significant change, please open an issue first to discuss what you'd like to change.
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes
- Push to the branch and open a Pull Request
License
Licensed under the GPLv2 or later — see the GNU General Public License v2.0 for details.
Credits
Developed and maintained by Billionaires Font — a free resource for converting, downloading, and exploring web-optimized fonts (WOFF2, WOFF, TTF, OTF).
If this plugin saved you time, consider checking out the Billionaires Font Converter for generating production-ready font files to upload with it.
Made with care by Billionaires Font