Breadcrumb Block
This is a single-block plugin for the breadcrumb trail. It’s simple, lightweight, SEO-friendly, and WooCommerce compatibility. It also includes some simple separator icons. It works everywhere: Page Editor, Site Editor, and template files. How to customize the breadcrumb How to change/remove an item? add_filter( 'breadcrumb_block_get_item', function ( $item_args, $context, $breadcrumbs_instance ) { // Ignore items without context. if ( ! $context || ! ( $context['object'] ?? false ) ) { return $item_args; } // Eg: remove a term. if ( 'term' === ( $context['type'] ?? '' ) && 'term-slug' === $context['object']->slug ) { return false; } // Eg: Change the title of a page. if ( 'page' === ( $context['type'] ?? '' ) && page_id_to_change === $context['object']->ID ) { $item_args[0] = 'Make it shorter'; } return $item_args; }, 10, 3 ); $item_args is a 3-item array: [$item_label, $item_link, $item_attrs] $context is an associative array: ['type' => 'item type', 'object' => 'item object']. type can be one of the following values: front_page, home, shop, page, post, single, term, taxonomy, post_type_archive, search, 404, paged, author, date_year, date_month, date_day, attachment. How to change the markup of the block? add_filter( 'breadcrumb_block_get_breadcrumb_trail', function ( $markup, $args, $breadcrumbs_instance ) { return $markup; }, 10, 3 ); How to add or remove the items from the breadcrumb trail? add_filter( 'breadcrumb_block_get_items', function ( $items, $breadcrumbs_instance ) { return $items; }, 10, 2 ); How to use a custom separator for the breadcrumb trail? add_filter( 'breadcrumb_block_get_args', function ( $args ) { // For example, change separator. $args['separator'] = ' '; return $args; } ); The custom separator should be an inline SVG. To make sure it displays properly, it should have three attributes: width, height, and fill. The values of these attributes should be as follows: fill="currentColor" width="1em" height="1em". Using this hook, you can customize other attributes such as container, before, after, list_tag, item_tag, item_before, item_after, separator. How to prepend the blog page to all single posts? add_action( 'breadcrumb_block_single_prepend', function ( $post, $breadcrumbs_instance ) { if ( 'post' === $post->post_type ) { $blog_id = get_option( 'page_for_posts'); if ( $blog_id ) { $breadcrumbs_instance->add_item( get_the_title( $blog_id ), get_permalink( $blog_id ) ); } } }, 10, 2 ); If this plugin is useful for you, please do a quick review and rate it on WordPress.org to help us spread the word. I would very much appreciate it. Please check out my other plugins if you’re interested: Content Blocks Builder – Build custom layouts and blocks visually in the Block Editor without needing a code editor, using only core blocks and native Gutenberg features. Meta Field Block – A single block to display custom fields in the Block Editor without coding. It supports ACF, MetaBox, WooCommerce, meta, rest field, shortcode and more. Works everywhere: in the Site Editor (FSE), the Block Editor, inside Query Loop, WooCommerce Product Collection, Term Query blocks, and even in template files. SVG Block – A block to display SVG images as blocks. Useful for images, icons, dividers, and buttons. It allows you to upload SVG images and load them into the icon library. Icon separator – A tiny block just like the core/separator block but with the ability to add an icon. Block Enhancements – Adds practical features to blocks like icons, box shadows, transforms, etc. Counting Number Block – A block to display numbers with a counting effect Better YouTube Embed Block – A block to solve the performance issue with embedded YouTube videos. It can also embed multiple videos and playlists. The plugin is developed using @wordpress/create-block.
Top keywords
- block20×3.45%
- item13×2.25%
- args9×1.55%
- context9×1.55%
- add8×1.38%
- editor7×1.21%
- separator7×1.21%
- blocks6×1.04%
- id6×1.04%
- page6×1.04%
- return6×1.04%
- 'breadcrumb5×0.86%
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.