bmd/enable-button-icons

Extension to add icons to Button blocks.

Maintainers

Package info

github.com/bob-moore/enable-button-icons

Homepage

Language:TypeScript

pkg:composer/bmd/enable-button-icons

Statistics

Installs: 25

Dependents: 0

Suggesters: 0

Stars: 0

v0.3.1 2026-04-30 20:24 UTC

This package is auto-updated.

Last update: 2026-04-30 20:25:10 UTC


README

Enable Button Icons

Try it in the WordPress Playground

Add icons to the WordPress Button block (core/button) in both the editor and frontend.

Fork Notice

This plugin is a fork and rewrite of Nick Diego's original project: https://github.com/ndiego/enable-button-icons

This version modernizes the architecture, packaging, and update flow while keeping the plugin focused on one job: adding icons to button blocks.

Features

  • Adds icon controls to core/button in the block inspector.
  • Supports icon libraries:
    • WordPress icons
    • MUI icons
    • Custom SVG input
  • Lets you set icon position (left/right).
  • Lets you set icon size per button using CSS units (for example 1em, 20px, 1.25rem).
  • Renders sanitized inline SVG on the frontend.
  • Ships with GitHub-based plugin updates in the WordPress admin update UI.

Requirements

  • WordPress 6.9+
  • PHP 8.2+

Installation

Install as a plugin

  1. Download the latest release zip from GitHub releases.
  2. In WordPress admin, go to Plugins -> Add New Plugin -> Upload Plugin.
  3. Upload the zip and activate Enable Button Icons.

Install via Composer (library usage)

If you are embedding this into your own project:

composer require bmd/enable-button-icons

Then bootstrap:

use Bmd\EnableButtonIcons;

$plugin = new EnableButtonIcons(
    plugin_dir_url( __FILE__ ),
    plugin_dir_path( __FILE__ )
);

$plugin->mount();

Usage

  1. Add a Button block.
  2. Open the block sidebar.
  3. Open the Icon panel.
  4. Choose an icon source (WordPress, MUI, or Custom SVG).
  5. Pick icon size and position.
  6. Save and view the post.

Updates

This plugin is distributed through GitHub releases (not WordPress.org). The plugin includes a scoped GitHub updater so WordPress can detect and apply new versions from this repository.

Changelog

0.3.1

  • Added icon toggle deselection — clicking the currently selected icon removes it.
  • Split editor sidebar into separate "Icon" and "Icon Styles" panels.
  • Improved icon size control layout with a consistent label and grid alignment.
  • Fixed null safety for custom SVG icon input field.
  • Fixed block list rendering to skip when icon has no source.
  • Updated IconValue TypeScript types to allow nullable fields.
  • Removed unused classnames dependency.

0.3.0

  • Forked and rewritten from the original ndiego/enable-button-icons project.
  • Added service-based plugin architecture.
  • Added scoped GitHub updater bootstrap.
  • Added modern build and release packaging workflow.
  • Added icon controls for WordPress, MUI, and custom SVG.
  • Added frontend icon rendering with sanitization and per-button sizing/position.