Marketing · Gutenberg

Problem / Solution block for WordPress

Side-by-side problem vs solution section — two contrast columns each with icon, title, and feature lists. A classic landing page persuasion block.

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

Side-by-side problem vs solution section — two contrast columns each with icon, title, and feature lists. A classic landing page persuasion block.

Inspector panels on this block: Problem column, Solution column. Those titles come from index.js, not from a shared template.

Behavior controls: “Visual style” options: Split (full-color columns), Cards (white bg + border), Bordered (outline only), Minimal (subtle tint).

Problem / Solution 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 → Marketing → search “Problem / Solution” (block name `blockenberg/problem-solution` in block.json). Style it in the sidebar after insert.

How to use Problem / Solution block for WordPress

  1. Install Blockenberg. Install from WordPress.org and activate the plugin.
  2. Insert the block. Edit a page, click +, search for “Problem / Solution”, insert it. Category: Marketing.
  3. Configure inspector controls that exist on this block. Open Problem column. Set “Visual style”, “Show column labels”, “Show "vs" divider”, “Divider label”.
  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
Visual styleSelect control; the chosen value is saved on the block. Options: Split (full-color columns); Cards (white bg + border); Bordered (outline only); Minimal (subtle tint). block.json default: split. Saved as `style`.
Show column labelsOn/off toggle in the inspector. On by default. Saved as `showLabels`.
Show "vs" dividerOn/off toggle in the inspector. On by default. Saved as `showDivider`.
Divider labelText field in the inspector. block.json default: vs. Saved as `dividerLabel`.
Rotate divider text verticallyOn/off toggle in the inspector. Off by default. Saved as `dividerVertical`.
Rotate divider on mobile onlyOn/off toggle in the inspector. On by default. Saved as `dividerMobileRotate`.
Label textText field in the inspector. block.json default: The Problem. Saved as `problemLabel`.
Label text (Solution Label)Text field in the inspector. block.json default: The Solution. Saved as `solutionLabel`.
Column gap (px)Numeric range control in the inspector. Range 0–60. block.json default: 24. Saved as `gap`.
Column padding V (px)Numeric range control in the inspector. Range 0–80. block.json default: 40. Saved as `paddingV`.
Column padding H (px)Numeric range control in the inspector. Range 0–80. block.json default: 40. Saved as `paddingH`.
Item spacing (px)Numeric range control in the inspector. Range 4–32. block.json default: 12. Saved as `itemSpacing`.
Border radius (px)Numeric range control in the inspector. Range 0–40. block.json default: 20. Saved as `borderRadius`.
Typography — TitleShared Blockenberg typography popover (family, size, weight, spacing). Saved as `titleTypo`.
ItemShared Blockenberg typography popover (family, size, weight, spacing). Saved as `itemTypo`.
LabelShared Blockenberg typography popover (family, size, weight, spacing). Saved as `labelTypo`.
Icon size (px)Numeric range control in the inspector. Range 20–80. block.json default: 40. Saved as `iconSize`.
Problem bgColor control in the inspector. block.json default: #fff1f2. Saved as `problemBg`.
Problem textColor control in the inspector. block.json default: #9f1239. Saved as `problemColor`.
Problem icon bgColor control in the inspector. block.json default: #fecdd3. Saved as `problemIconBg`.
Solution bgColor control in the inspector. block.json default: #f0fdf4. Saved as `solutionBg`.
Solution textColor control in the inspector. block.json default: #14532d. Saved as `solutionColor`.
Solution icon bgColor control in the inspector. block.json default: #bbf7d0. Saved as `solutionIconBg`.
Divider bgColor control in the inspector. block.json default: #ffffff. Saved as `dividerBg`.
Divider textColor control in the inspector. block.json default: #334155. Saved as `dividerTextColor`.

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 Problem / Solution block in WordPress?

Install Blockenberg from WordPress.org, edit a page in the block editor, click +, and search for “Problem / Solution”. It sits under Marketing. After insert, open Problem column and set “Visual style”, “Show column labels”, “Show "vs" divider”, “Divider label”.

What makes Problem / Solution different from other Blockenberg blocks?

Side-by-side problem vs solution section — two contrast columns each with icon, title, and feature lists. A classic landing page persuasion block. Inspector labels on this block include “Visual style”, “Show column labels”, “Show "vs" divider”, “Divider label”.

Is the Problem / Solution Gutenberg block free?

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

Can I style Problem / Solution 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: Problem column, Solution column).

Related marketing blocks

Get Blockenberg

Install Blockenberg from WordPress.org, then insert Problem / Solution from the Gutenberg inserter.

Get Blockenberg