Content · Gutenberg

Icon Box block for WordPress

Single card with icon, title, text, and optional link button. Perfect for feature lists inside Row/Column.

Get Blockenberg

Free Gutenberg block in Blockenberg. The inspector controls and front-end behavior on this page come from this block’s source, not a shared stub.

Get Blockenberg

What it actually does

Single card with icon, title, text, and optional link button. Perfect for feature lists inside Row/Column.

Inspector panels on this block: Layout, Icon, Link Button, Card, Text. Those titles come from index.js, not from a shared template.

Behavior controls: “Icon Position” options: Top (Centered), Left, Right; “Text Alignment” options: Left, Center, Right; “Icon Type” options: Star ★, Checkmark ✓, Check Circle ✓●, Arrow ›, Arrow Right →; “Icon Shape” options: None (icon only), Circle — Filled, Circle — Outline, Square — Filled, Square — Outline.

Icon Box has no render.php and no frontend.js. The saved Gutenberg HTML is what visitors see, plus Blockenberg layout/typography CSS.

Where to find it

Gutenberg inserter → Content → search “Icon Box” (block name `blockenberg/icon-box` in block.json). Style it in the sidebar after insert.

How to use Icon Box block for WordPress

  1. Install Blockenberg. Install from WordPress.org and activate the plugin.
  2. Insert the block. Edit a page, click +, search for “Icon Box”, insert it. Category: Content.
  3. Configure inspector controls that exist on this block. Open Layout. Set “Icon Position”, “Align icon to top”, “Text Alignment”, “Gap (icon ↔ content)”.
  4. Publish. Save the page. Output is the saved block HTML; typography/colors follow Blockenberg shared panels.

Inspector controls from this block’s code

ControlWhat the code does
Icon PositionSelect control; the chosen value is saved on the block. Options: Top (Centered); Left; Right. block.json default: top. Saved as `iconPosition`.
Align icon to topOn/off toggle in the inspector. Off by default. Saved as `iconAlignTop`.
Text AlignmentSelect control; the chosen value is saved on the block. Options: Left; Center; Right. block.json default: center. Saved as `textAlign`.
Gap (icon ↔ content)Numeric range control in the inspector. Range 4–60. block.json default: 20. Saved as `contentGap`.
Icon TypeSelect control; the chosen value is saved on the block. Options: Star ★; Checkmark ✓; Check Circle ✓●; Arrow ›; Arrow Right →; Disc •; Square ▪; Sparkle ✦; Bolt ⚡; Dash —. block.json default: star. Saved as `iconType`.
CharacterText field in the inspector. block.json default: ★. Saved as `iconChar`.
Icon ShapeSelect control; the chosen value is saved on the block. Options: None (icon only); Circle — Filled; Circle — Outline; Square — Filled; Square — Outline; Rounded Square — Filled; Rounded Square — Outline. block.json default: circle-filled. Saved as `iconShape`.
Icon SizeNumeric range control in the inspector. Range 12–80. block.json default: 40. Saved as `iconSize`.
Background SizeNumeric range control in the inspector. Range 24–140. block.json default: 80. Saved as `iconBgSize`.
Background Radius (%)Numeric range control in the inspector. Range 0–50. block.json default: 50. Saved as `iconBgRadius`.
Title TagSelect control; the chosen value is saved on the block. Options: H2; H3; H4; P. block.json default: h3. Saved as `titleTag`.
Spacing Below TitleNumeric range control in the inspector. Range 0–40. block.json default: 10. Saved as `titleSpacing`.
Font SizeNumeric range control in the inspector. Range 10–24. block.json default: 14. Saved as `linkSize`.
Font WeightSelect control; the chosen value is saved on the block. Options: 300 — Light; 400 — Regular; 500 — Medium; 600 — Semi Bold; 700 — Bold; 800 — Extra Bold. block.json default: 600. Saved as `linkWeight`.
Show Link ButtonOn/off toggle in the inspector. Off by default. Saved as `linkEnabled`.
Button TextText field in the inspector. block.json default: Learn More. Saved as `linkText`.
URLText field in the inspector. Saved as `linkUrl`.
Open InSelect control; the chosen value is saved on the block. Options: Same Tab; New Tab. block.json default: _self. Saved as `linkTarget`.
Button StyleSelect control; the chosen value is saved on the block. Options: Solid Button; Outline Button; Ghost / Subtle; Plain Link. block.json default: solid. Saved as `linkStyle`.
Border RadiusNumeric range control in the inspector. Range 0–50. block.json default: 6. Saved as `linkRadius`.
Padding VerticalNumeric range control in the inspector. Range 4–28. block.json default: 10. Saved as `linkPaddingV`.
Padding HorizontalNumeric range control in the inspector. Range 8–60. block.json default: 22. Saved as `linkPaddingH`.
Spacing Above ButtonNumeric range control in the inspector. Range 0–48. block.json default: 16. Saved as `linkSpacingTop`.
Border WidthNumeric range control in the inspector. Range 1–4. block.json default: 2. Saved as `linkBorderWidth`.
Card — TopNumeric range control in the inspector. Range 0–80. block.json default: 36. Saved as `cardPaddingTop`.
Card — RightNumeric range control in the inspector. Range 0–80. block.json default: 32. Saved as `cardPaddingRight`.
Card — BottomNumeric range control in the inspector. Range 0–80. block.json default: 36. Saved as `cardPaddingBottom`.
Card — LeftNumeric range control in the inspector. Range 0–80. block.json default: 32. Saved as `cardPaddingLeft`.
Border Radius (Card Border Radius)Numeric range control in the inspector. Range 0–48. block.json default: 16. Saved as `cardBorderRadius`.
Border Width (Card Border Width)Numeric range control in the inspector. Range 0–6. block.json default: 1. Saved as `cardBorderWidth`.
Border StyleSelect control; the chosen value is saved on the block. Options: Solid; Dashed; Dotted; None. block.json default: solid. Saved as `cardBorderStyle`.
Hover EffectSelect control; the chosen value is saved on the block. Options: None; Lift (translate up); Glow (shadow); Scale; Border Highlight. block.json default: lift. Saved as `hoverEffect`.
Box ShadowOn/off toggle in the inspector. On by default. Saved as `cardShadow`.
Shadow HNumeric range control in the inspector. Range -20–20. block.json default: 0. Saved as `cardShadowH`.
Shadow VNumeric range control in the inspector. Range -20–40. block.json default: 4. Saved as `cardShadowV`.
BlurNumeric range control in the inspector. Range 0–80. block.json default: 24. Saved as `cardShadowBlur`.
SpreadNumeric range control in the inspector. Range -10–20. block.json default: 0. Saved as `cardShadowSpread`.
Shadow on Hover (CSS)Text field in the inspector. Full box-shadow CSS value for hover state. block.json default: 0 12px 40px 0 rgba(0,0,0,0.12). Saved as `cardShadowHover`.
Icon ColorColor control in the inspector. block.json default: #3b82f6. Saved as `iconColor`.
Icon — BackgroundColor control in the inspector. block.json default: #dbeafe. Saved as `iconBgColor`.
Text — TitleColor control in the inspector. block.json default: #1e293b. Saved as `titleColor`.
Body TextColor control in the inspector. block.json default: #6b7280. Saved as `textColor`.
Card — BackgroundColor control in the inspector. block.json default: #ffffff. Saved as `cardBg`.
Background (Hover)Color control in the inspector. Saved as `cardBgHover`.
Card — BorderColor control in the inspector. block.json default: #e2e8f0. Saved as `cardBorderColor`.
Shadow ColorColor control in the inspector. block.json default: rgba(0,0,0,0.07). Saved as `cardShadowColor`.
Link Button — BackgroundColor control in the inspector. block.json default: #3b82f6. Saved as `linkBg`.
Link Button — TextColor control in the inspector. block.json default: #ffffff. Saved as `linkColor`.
Background (Hover)Color control in the inspector. block.json default: #2563eb. Saved as `linkBgHover`.
Text (Hover)Color control in the inspector. block.json default: #ffffff. Saved as `linkColorHover`.
Link Button — BorderColor control in the inspector. block.json default: #3b82f6. Saved as `linkBorderColor`.

When this is the right block

Notes from the implementation

viewScript: this folder’s frontend.js is enqueued on the front end for this block.

FAQ

How do I add the Icon Box block in WordPress?

Install Blockenberg from WordPress.org, edit a page in the block editor, click +, and search for “Icon Box”. It sits under Content. After insert, open Layout and set “Icon Position”, “Align icon to top”, “Text Alignment”, “Gap (icon ↔ content)”.

What makes Icon Box different from other Blockenberg blocks?

Single card with icon, title, text, and optional link button. Perfect for feature lists inside Row/Column. Inspector labels on this block include “Icon Position”, “Align icon to top”, “Text Alignment”, “Gap (icon ↔ content)”.

Is the Icon Box Gutenberg block free?

Yes. Icon Box ships inside Blockenberg. Get the plugin from WordPress.org — no paid add-on is required for this block.

Can I style Icon Box to match my theme?

Yes. Blockenberg’s shared typography and color panels apply here, plus any block-specific style controls listed on this page (panels: Layout, Icon, Link Button, Card).

Related content blocks

Get Blockenberg

Install Blockenberg from WordPress.org, then insert Icon Box from the Gutenberg inserter.

Get Blockenberg