s3rgiosan/icons-extended

Maintainers

Package info

github.com/s3rgiosan/icons-extended

Type:wordpress-plugin

pkg:composer/s3rgiosan/icons-extended

Fund package maintenance!

s3rgiosan

Ko Fi

Statistics

Installs: 5

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

1.0.0 2026-05-20 20:34 UTC

This package is auto-updated.

Last update: 2026-05-23 13:45:14 UTC


README

Extends the Icon block with custom icons and the ability to remove registered icons.

Register custom SVG icons against the core core/icon block via a stable PHP API, and remove icons (including the ones that ship with WordPress) from the registry. Changes are served through the existing Gutenberg icon picker. See docs/icons.md for the full guide.

Looking for inline icons in rich-text fields? See my Outstand Icons plugin.

Features

Custom icons

Register your own SVG icons against the core core/icon block through a stable PHP API (s3s_register_icon() or the s3s_icons_registry filter). Icons are validated at registration time and appear in any picker that consumes the registry. See docs/icons.md for the full guide.

Removing icons

Remove icons from the registry — a single icon, or an entire namespace such as the core/* icons that ship with WordPress — either hard-removed or hidden from picker UIs via REST. See docs/icons.md for the full guide.

Installation

Manual Installation

  1. Download the latest release ZIP from the Releases page.
  2. Go to Plugins > Add New > Upload Plugin in your WordPress admin area.
  3. Upload the ZIP file and click Install Now.
  4. Activate the plugin.

Install with Composer

To include this plugin as a dependency in your Composer-managed WordPress project:

  1. Add the plugin to your project using the following command:
composer require s3rgiosan/icons-extended
  1. Run composer install.
  2. Activate the plugin from your WordPress admin area or using WP-CLI.

Quick start

  1. Register an icon on init priority 1–4 via s3s_register_icon( 'my-plugin/star', [ 'label' => 'Star', 'content' => '<svg…/>' ] ).
  2. In a post or page, insert a core/icon block and pick your icon from the picker.
  3. Optionally remove WordPress's built-in icons with s3s_unregister_icons_namespace( 'core' ) on init priority 6.

Requirements

  • WordPress 7.0 or higher
  • PHP 8.2 or higher

Tests

PHP tests run inside a wp-env container:

npm run test:setup   # first time only — starts Docker WP + test DB
npm run test:unit

Changelog

All notable changes to this project are documented in CHANGELOG.md.

License

This project is licensed under the GPL-3.0-or-later.