NexVibe Self-Hosted Font Manager

Description

This plugin is a self-hosted font manager for WordPress. No account and no per-font fees for your own font files — everything happens on your own site.

Key features

  • Upload custom font files (TTF, OTF, WOFF, WOFF2) directly, handled by WordPress’s own uploader.
  • Curated font packs for Latin, Bangla/Bengali, Arabic, Devanagari (Hindi/Marathi/Nepali), Cyrillic (Russian/Ukrainian/etc.), and CJK (Chinese/Japanese/Korean) scripts — useful for multilingual and non-Latin-script sites, not just English ones.
  • Smart per-page loading: only the fonts a specific page actually needs are enqueued there, instead of loading your entire font library on every page.
  • Automatic font detection via the fontik-font-{slug} CSS class or the [fontik font="slug"] shortcode — no manual page-by-page setup required.
  • Language-based font switching: tag a font with a language code (e.g. bn, ar, hi, ru, ja) and it is automatically applied to any element with a matching lang attribute — handy for multilingual sites that mix scripts.
  • CSS selector assignment (e.g. body, h1, .site-title) for site-wide typography.
  • Gutenberg / block editor integration — your fonts appear in the block Typography font-family picker via theme.json.
  • CSS custom properties (var(--fontik-your-font-slug)) for use in custom CSS or page builders.
  • Fully translation-ready (all strings run through WordPress i18n functions).
  • Optional: a one-click tool to import and self-host fonts from Google Fonts, a font library operated by Google LLC. This plugin is not affiliated with, endorsed by, or sponsored by Google. See “External services” below for details.

External services

This plugin includes an optional tool, under the plugin’s Google Fonts screen, that lets you import a font from Google Fonts and self-host it on your own server.

This feature only runs when you explicitly click “Import” on a specific font in the Google Fonts admin screen. It is never triggered automatically, and nothing is requested from Google when this feature is not used.

  • What is sent, and when: when you click “Import”, your server (not your site visitors’ browsers) sends a request containing the chosen font family name to Google Fonts’ public CSS endpoint (fonts.googleapis.com) to retrieve the font’s stylesheet, then downloads the referenced font files from Google’s font file server (fonts.gstatic.com) to your own site’s uploads folder via WordPress’s download_url(). No visitor data, site content, or personal information is sent — only the font family name and standard HTTP request metadata (e.g. your server’s IP address, as with any HTTP request).
  • After import: the downloaded font files are served entirely from your own server from then on. No further requests are made to Google for that font, and your site visitors’ browsers never contact Google as a result of using this feature.
  • Service provider: Google LLC. Google Fonts Terms of Service: https://developers.google.com/fonts/faq — Google Privacy Policy: https://policies.google.com/privacy — Google Terms of Service: https://policies.google.com/terms

Installation

  1. Upload the plugin files to /wp-content/plugins/nexvibe-self-hosted-font-manager, or install via Plugins Add New Upload Plugin.
  2. Activate the plugin.
  3. Go to All Fonts to upload a font, or Google Fonts to self-host one from a curated pack (or any Google Font by name).
  4. Optionally assign fonts site-wide on Assign Fonts, or per-page via the “Fonts Used on This Page” box in the post editor.

FAQ

Do I need an account or API key?

No. Custom font uploads are handled entirely by WordPress’s own uploader. The optional Google Fonts import feature uses Google Fonts’ public CSS endpoint (the same one browsers use) and requires no account or key — see “External services” above for what it sends.

Does this only work for English/Latin sites?

No. This plugin ships curated font packs for Bangla, Arabic, Devanagari, Cyrillic and CJK scripts in addition to Latin, and lets you assign a language tag to any font so it switches automatically based on the lang attribute of the content.

Does this slow down my site?

This plugin’s smart per-page loading is designed to do the opposite: instead of loading every font on every page, it only outputs @font-face rules for fonts actually assigned to, or detected on, the current page.

How do I use a font for a specific language only?

Import or upload the font, set its “Language tag” (e.g. bn for Bangla, ar for Arabic), and any element with a matching lang attribute will use it automatically.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“NexVibe Self-Hosted Font Manager” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0

  • Initial release.