JVM Rich Text Icons
Add icons to any rich text field in the WordPress block editor. Insert icons inline in paragraphs, headings, lists, buttons, or use the dedicated single icon block. Features Icon picker – Select icons from a searchable popup in the block editor toolbar. Font Awesome included – Ships with Font Awesome 4.7, 5.x and 6.x. Choose your preferred version from the settings. Custom SVG icon set – Upload your own SVG icons via a drag & drop uploader in the plugin settings. This is the recommended approach for the best performance. Single icon block – A dedicated block with font size, color, alignment and spacing options. Supports Pattern Overrides (WordPress 6.9+), so the icon and its color can be customized per instance when the block is used inside a synced pattern. ACF integration – Adds a “JVM Icon” field type for Advanced Custom Fields. See it in action How it works Pick an icon from the toolbar while editing any rich text field. The plugin inserts a small HTML tag that gets styled by the chosen icon set. Why use a custom SVG icon set? When you use a custom SVG icon set, the plugin defaults to inline SVG rendering. This is a great choice for performance! Google PageSpeed Insights will thank you. Better page speed – No render-blocking CSS or font files to download. Icons are part of the HTML itself. Only loads what you use – Unlike Font Awesome which loads CSS for hundreds of icons, inline SVG only includes the icons that are actually on the page. No external requests – Everything is served inline, so there are no extra HTTP requests for font or CSS files. Inherits text color – Icons automatically use the surrounding text color, no extra CSS needed. Fully reversible – The stored content in the database is not modified. You can switch between render technologies at any time from the plugin settings if you want to. Alternative render technologies (CSS masks, ::before / ::after pseudo-elements) are also available for custom SVG icons if your use case requires it. For developers The plugin provides several filter hooks to customize its behavior. You can load your own icon set, CSS file, or change the icon class prefix. Load a custom icon set file add_filter( 'jvm_richtext_icons_iconset_file', function($file) { return get_stylesheet_directory() . '/path_to_my/icons.json'; }); Load a custom CSS file add_filter( 'jvm_richtext_icons_css_file', function($cssfile) { return get_stylesheet_directory_uri() . '/path_to_my/cssfile.css'; }); To disable the default CSS file entirely: add_filter( 'jvm_richtext_icons_css_file', '__return_false'); Change the icon class prefix add_filter( 'jvm_richtext_icons_base_class', function() { return 'my-custom-css-class-name'; }); Disable the settings screen add_filter( 'jvm_richtext_icons_show_settings', '__return_false'); Please note that if you are loading a custom icon set with the plugin hook: jvm_richtext_icons_css_file, you should make sure the plugin is not set to My SVG uploads as this setting does not load any CSS file.
Top keywords
- icons16×3.19%
- icon15×2.99%
- css12×2.39%
- custom8×1.59%
- set8×1.59%
- svg8×1.59%
- file7×1.39%
- icon set7×1.39%
- add6×1.20%
- block6×1.20%
- filter6×1.20%
- font6×1.20%
Omni Icon – Modern SVG icon library for WordPress
Omni Icon: Modern icon management solution for WordPress Omni Icon is a comprehensive icon management solution that seamlessly integrates icons across the WordPress ecosystem. Upload custom icons, use bundled icons, or access 200,000+ icons from Iconify with support for Gutenberg, Elementor, Bricks, Breakdance, and LiveCanvas. Features Omni Icon is packed with features designed to make icon management effortless: Multi-source Icon System: Upload custom SVG icons, use pre-bundled icons, or access 200,000+ Iconify icons Icon Search & Discovery: Powerful search across all icon sources with intelligent caching Server-Side Rendering (SSR): Icons pre-rendered on server for instant display and optimal performance Smart Caching: Multi-layer caching (memory, filesystem, IndexedDB) for blazing fast load times Web Component: Use custom element anywhere in your theme or content Secure: SVG sanitization prevents XSS attacks on uploaded icons Modern Architecture: Built with PHP 8.0+ attributes, Symfony DI, and auto-discovery Lightweight: Small footprint with lazy loading won’t slow down your site Visit our GitHub repository for more information. Seamless Integration Omni Icon works perfectly with the most popular visual/page builders: Gutenberg / Block Editor — Custom Icon block with live preview Elementor — Native widget with Elementor controls Bricks — Native element with full theme compatibility Breakdance — Element Studio integration with SSR LiveCanvas — Custom block with panel controls Advanced Custom Fields (ACF) — Custom field type for icon selection Etch — Web Component with icon picker Divi 5 — Native module More integrations coming soon! Icon Sources Local Icons (Custom Uploads) Upload your own SVG icons and organize them in custom sets. All uploads are sanitized for security. Bundle Icons Pre-packaged icons included with the plugin, including sponsor logos and commonly used icons. Iconify Icons Access to 150+ icon collections with 200,000+ icons including: Material Design Icons (mdi) Font Awesome (fa6-brands, fa6-regular, fa6-solid) Bootstrap Icons (bi) Hero Icons (heroicons) Lucide (lucide) And 150+ more collections Browse available icons at Iconify Usage Gutenberg: In the block editor, add a new “Omni Icon” block Click the icon picker to browse or search icons Elementor: Add the “Omni Icon” widget Click “Browse Icons” to open the icon picker Bricks: Add the “Omni Icon” element Click “Browse Icons” to open the icon picker Breakdance: Add the “Omni Icon” element Click “Browse Icons” to open the icon picker LiveCanvas: Add the “Omni Icon” element Advanced Custom Fields (ACF): Create or edit an ACF Field Group Add a new field and select “Omni Icon” as the field type Configure return format (string, array, or HTML) Etch: Add the “omni-icon” Element from the menu element on the bottom of screen Browse or search icons in the icon picker Confirm selection to copy the code to clipboard Paste the copied code into the HTML editor Web Component Usage Use the web component directly in your theme or content: Performance & Security Lazy Loading: Web components loaded on-demand Multi-layer Caching: Memory → Filesystem → IndexedDB SSR Support: Icons pre-rendered on server for instant display SVG Sanitization: All uploaded SVGs sanitized to prevent XSS MIME Type Validation: Server-side validation of uploaded files Love Omni Icon? Give a 5-star review Join our Facebook Group Sponsor us on GitHub or Ko-fi Credits Built with Symfony UX Icons Powered by Iconify SVG sanitization by enshrined/svg-sanitize Affiliate Disclosure: This readme.txt may contain affiliate links. If you decide to make a purchase through these links, we may earn a commission at no extra cost to you.