Skip to content
GPLWP Guides

How to create pricing tables in WordPress

Design & Layout Time About 30 minutes 6 steps Updated 17 Sep 2026

DESIGN & LAYOUT
The short answer

You can create a basic pricing table without a plugin by building plan cards with the Columns, Group, List and Buttons blocks. For responsive comparisons, featured plans, templates and faster styling, a dedicated pricing-table plugin is the more practical route.

The route
  1. 01Plan the pricing information
  2. 02Build the plan columns
  3. 03Style the featured plan
  4. 04Check the mobile layout
  5. 05Reuse the finished layout
  6. 06Use a table builder for speed

What you need

  • A WordPress site with the block editor enabled
  • Admin or editor access
  • Your plan names, prices, features and call-to-action links
  • A mobile device or browser preview for checking the layout

Plan the pricing information

List the plans from lowest to highest commitment and keep the same information in the same order for each plan. Decide which plan is featured, whether prices need monthly and annual versions, and what each button should do.

Keep feature names specific. Avoid making one plan look cheaper by hiding important limits in small text, because visitors need to compare like with like.

Build the plan columns

Edit the page where the table should appear and add a Columns block. Choose one column for each plan, then add a Group block inside each column so you can style the card as a unit. WordPress lets you place headings, media, paragraphs and other blocks inside columns.

Inside every plan card, add a heading for the plan name, a short description, the price, a List block for included features and a Buttons block for the call to action. Keep the structure identical across columns so the comparison is easy to scan.

Style the featured plan

Select the Group block that contains the plan card and use its colour, border, spacing and typography controls where your theme provides them. Give the featured plan a clear label such as “Most popular”, but do not rely on colour alone to identify it.

Use the Advanced settings to add an additional CSS class when you need more control over a particular card. Add the matching CSS through your theme’s custom CSS area or another approved stylesheet rather than changing the theme’s core files. Block settings can include CSS classes and other advanced controls.

Check the mobile layout

Preview the page at phone and tablet widths. Confirm that plan cards remain readable, buttons are large enough to tap, prices do not wrap awkwardly and every feature is still visible.

Do not assume a conventional table will stack into separate cards on mobile. A simple table may only wrap text or allow horizontal scrolling, while a stacked layout requires a block arrangement or table type that supports it.

Reuse the finished layout

If you will use the same pricing design on several pages, select the completed blocks and create a pattern. A synced pattern can be updated in one place and reused across the site; a non-synced pattern can be changed independently on each page.

Use the core Table block for genuinely tabular comparison data, such as a feature matrix. For card-style plans, Columns and Groups are usually easier to control and read. WordPress specifically notes that tables are for tabulated data rather than page design.

Use a table builder for speed

For a polished comparison with less manual layout work, install Go Pricing, create a table from a template or blank layout, add your plans and features, then adjust colours, typography, spacing, media and responsive behaviour in its builder. Insert the finished table where you need it using its shortcode support.

This is the faster route when you need multiple tables, featured columns, richer styling or a mobile layout that would take considerable custom CSS to reproduce with core blocks.

The fast route

Let Go Pricing do it

Drag-and-drop responsive tables with templates, media, and styling controls; choose it for polished comparisons without coding.

Get Go Pricing

Sources

  1. wordpress.org /documentation/article/columns-block/?utm_source=openai
  2. wordpress.org /documentation/article/work-with-blocks/?utm_source=openai
  3. wordpress.org /support/topic/responsivity-for-pricing-table/?utm_source=op…
  4. wordpress.org /documentation/article/block-pattern/?utm_source=openai
  5. wordpress.org /documentation/article/table-block/?utm_source=openai

Questions

Can I create a pricing table in WordPress without a plugin?
Yes, you can create a basic pricing layout without a plugin by using the Columns, Group, Heading, List and Buttons blocks. This works well for a small number of plans, but you must handle consistent spacing, featured-plan styling and mobile checks yourself. A plugin becomes useful when you need templates, advanced responsive behaviour or many tables.
Should I use the WordPress Table block for pricing plans?
Use the Table block when visitors need to compare data in rows and columns, such as a feature matrix. For separate plan cards with a price, feature list and button, the Columns block is usually easier to style and more readable on smaller screens. WordPress documentation also recommends tables for tabulated data rather than general page design.
How do I make a pricing table responsive on mobile?
Build each plan as a separate column or card, then preview the page at phone width before publishing. Check that cards stack or remain usable, buttons fit within the screen and feature text does not become cramped. A simple HTML table may only wrap or scroll horizontally instead of stacking, so it may need a different layout or a responsive pricing-table tool.
How many plans should a pricing table show?
Show only the plans people genuinely need to compare, usually two to four. Too many columns make the prices and features difficult to scan, especially on mobile. If you have several offers, group them by audience or use a separate comparison page rather than shrinking every plan into one crowded table.
Can I reuse a pricing table on several WordPress pages?
Yes, select the completed block layout and save it as a pattern. Use a synced pattern when changes should update every copy, or use a regular pattern when each page needs its own plan names, prices or features. WordPress calls reusable blocks synced patterns in current versions.