Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11The best way to create a pricing table in WordPress depends on what the table must do. For a simple, informational comparison, use the built-in Table block. If you want plan badges, monthly/yearly switches, reusable layouts, or richer styling, install a dedicated Gutenberg pricing-table block or use Elementor’s Price Table widget. If a button must add a specific plan to a WooCommerce cart, connect each column to a product ID or use a WooCommerce product-table extension.
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
Decide the plans and purchase flow first, then choose the editor and tool that match your site. The steps below cover the complete process, from writing plan content to testing mobile behavior and keeping prices synchronized with WooCommerce.
As an Amazon Associate I earn from qualifying purchases.
Plan the offers before opening WordPress
A pricing table is a decision aid, not merely a grid of numbers. Draft the offers in a document or spreadsheet before touching the editor. This prevents uneven feature lists and conflicting prices between your table and checkout.
Name each plan clearly
Use names that indicate a meaningful difference, such as “Basic,” “Pro,” and “Business.” Avoid names that require visitors to decode an internal product hierarchy. Keep capitalization and terminology consistent across every column.
Write one-sentence descriptions
Give each plan a short statement explaining who it suits or what problem it solves. A description such as “For a single creator publishing a small library” is more useful than a generic “Great value” claim. Keep descriptions roughly the same length so one column does not become much taller.
List only decision-relevant features
Choose the limits and capabilities that actually distinguish plans: seats, storage, projects, support response, export formats, or usage quotas. Keep the wording parallel. For example, use “10 projects,” “50 projects,” and “Unlimited projects,” rather than mixing nouns, sentences, and marketing slogans. If a feature is unavailable, use a consistent “Not included” label instead of leaving a blank cell.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Set the billing period and currency
Display the period beside the price—“per month,” “per year,” or another exact interval. State whether tax is included when that matters in your market. Select one currency for the table and make sure the checkout page uses the same currency. Do not show a monthly-looking number while charging annually unless the annual commitment is obvious beside it.
Choose one plan to emphasize
Select the plan that best fits most customers and label it “Recommended” or another specific badge. Highlighting every column removes the visual cue that helps people choose. A badge should support the comparison, not replace a clear description of what the plan includes.
Define the button destination
Decide whether each call to action should open a details page, start a signup flow, or add a WooCommerce product to the cart. Write action-oriented labels such as “Start free trial,” “Choose Pro,” or “Buy Business.” A button that only says “Learn more” is appropriate when no purchase happens from the table.
Choose the WordPress implementation
Match the tool to your editor, the number of plans, and the required commerce behavior.
Rank #2
| Implementation | Best for | Commerce linkage | Reuse and scale | Design control |
|---|---|---|---|---|
| Core WordPress Table block | A small, manually maintained comparison | Links to pages or checkout URLs; no plan-specific product logic | Usually local to a post or page | Basic rows, columns, alignment, and block styles |
| Dedicated Gutenberg pricing block | Reusable plan layouts, badges, and optional toggles | Static links by default; some plugins offer WooCommerce integration | Saved tables, blocks, or shortcodes, depending on the plugin | More controls for colors, borders, spacing, and responsive layouts |
| Elementor Price Table widget | Sites already built with Elementor and needing visual controls | Links configured in the widget; product behavior requires a separate commerce setup | Reusable Elementor templates or widget instances | Header, Pricing, Features, Footer, and Ribbon sections with typography and spacing controls |
| WooCommerce pricing extension | Plans that must add a known product to the cart | Product IDs, add-to-cart actions, and product data | Shortcodes or admin-managed tables, depending on the extension | Defaults and layout settings plus WooCommerce data |
| WooCommerce Product Table Builder | Large, searchable product catalogs rather than a few tiers | Built-in add-to-cart functionality | Query builder, sorting, pagination, and catalog-wide tables | Configurable columns and table elements |
There is no reliable universal winner for speed, accessibility, or conversion. Official product pages document controls and setup, but they do not provide independent cross-plugin benchmarks. Test the option you select on your own theme, hosting stack, and mobile devices.
Create a simple table with the core Table block
Use the core block when the table is informational and you are comfortable maintaining prices and links manually.
- Open the page editor. In WordPress, go to Pages (or Posts), select the page, and place the cursor where the comparison should appear.
- Insert the block. Select the + block inserter, search for Table, and choose the core Table block. WordPress asks for the initial number of columns and rows.
- Set the initial dimensions. Create one column for the feature names and one column for each plan. Add enough rows for the feature list, but do not create filler rows just to make the table look larger.
- Build the header. Put “Feature” (or an equivalent label) in the first header cell, followed by each plan name. In the block settings, enable a header section if your WordPress version offers that option.
- Enter prices and intervals. Place the price and billing period in each plan column. Keep the currency symbol and decimal style consistent.
- Add feature values. Use one row per feature and parallel wording across plans. For a yes/no capability, use text such as “Included” and “Not included” with an accessible text explanation, not color alone.
- Add calls to action. You can place a button block below the table or include a final row with links. Link each button to the correct information page or checkout destination and use descriptive link text.
- Adjust presentation. Use the block’s alignment, text, background, and border settings sparingly. Keep the plan columns wide enough for the price and button labels. If the table becomes hard to read on a phone, shorten labels or move the call to action below the table rather than shrinking the font excessively.
- Preview and publish. Use the editor preview at desktop and mobile widths, then open the published URL in at least one real phone browser. Confirm that horizontal scrolling, if present, is intentional and that no column is clipped.
The Table block is quick because it has no separate plugin or data connection. Its trade-off is maintenance: every price, feature, and destination must be edited wherever it appears.
Use a dedicated Gutenberg pricing-table block
A pricing plugin is useful when you want plan-focused controls without leaving Gutenberg. Examples documented for this workflow include Price Table Block and Tabelio Price Table. Their exact interfaces and compatibility can change, so verify the current plugin version and WordPress requirements before installing.
Recommended Free Tools
Install and activate the block
- Open Plugins > Add New in the WordPress dashboard.
- Search for the pricing-table block you selected, review its stated compatibility and update history, and select Install Now.
- Select Activate. If the plugin offers a setup screen, complete only the settings needed for your site; global colors and typography can usually be changed later.
- Edit a page, open the block inserter, and search for the plugin’s pricing-table block.
Configure plans and optional layouts
Enter the title, description, price, billing interval, features, and button link for each plan. Dedicated blocks commonly provide a ribbon or badge for the recommended column, controls for colors and borders, and spacing settings that are not available in the core block. Tabelio Price Table documents simple comparison layouts, monthly/yearly toggle layouts, saved tables, shortcodes, an Elementor widget, and optional WooCommerce integration.
Use a monthly/yearly toggle only when both prices and the commitment terms are genuinely available. Label the toggle with the period and update the button destination if the two billing choices use different products or checkout URLs. Check the table at both states before publishing; a toggle that changes the number but not the purchase link is misleading.
Rank #3
Save tables for reuse
If the plugin supports saved tables or shortcodes, create one canonical table and insert it where needed. Reuse reduces the risk that a price changes on one landing page but not another. Keep a note of where the table is embedded so you can test every instance after a plan change.
Build a table with Elementor’s Price Table widget
Choose this route when the page is already designed in Elementor and you want visual controls in the same editor. Elementor describes the Price Table widget as a way to display pricing plans or packages with separate sections for the header, pricing, features, footer, and ribbon.
- Open the Elementor editor. Edit the target page with Elementor and locate Price Table in the widget panel.
- Place the widget. Drag it into the column or container where the plans should appear. Duplicate the widget for additional plans so spacing and structure remain consistent.
- Fill the Header section. Enter the plan title and short description. Keep the title and description lengths comparable across widgets.
- Set Pricing fields. Enter the currency symbol, exact price, and currency format. Add the billing-period text in the field provided by your widget configuration or in the surrounding content so visitors can see whether the amount recurs.
- Enter Features. Add one feature per line using the widget’s feature-list control. Keep the number and order of rows equal across plans; uneven lists make visual comparison difficult.
- Configure the Footer. Set the button label and link. Use a full destination URL or the site’s internal link picker, and verify that the link opens the intended signup, product, or checkout page.
- Add a Ribbon only where needed. Use the Ribbon section for a single recommendation badge. Configure its text, color, and position without obscuring the price or keyboard focus outline.
- Style deliberately. In Elementor’s style controls, set typography, colors, borders, button appearance, and spacing. Use one visual hierarchy for all plans and a stronger treatment only for the recommended plan.
- Check responsive settings. Switch to tablet and mobile views in Elementor. Reduce padding before reducing text size, and confirm that buttons remain large enough to tap. Publish only after checking the live page, because theme styles can differ from the editor preview.
The widget provides a polished, page-builder workflow, but it does not by itself synchronize prices with WooCommerce products. If the button must initiate a product purchase, use a product-linked WooCommerce method described next.
Connect pricing plans to WooCommerce products
Use product linkage when the table’s button must add a real product to the cart, inherit the product price, or follow WooCommerce checkout rules. A static button that merely points to a product page does not provide the same behavior.
Storefront Pricing Tables shortcode method
WooCommerce documents a wrapper shortcode and pricing-column shortcodes. A three-column table can start with:
[pricing_table columns="3" alignment="left"]
A column can include a product ID, title, pipe-separated features, and a highlight flag:
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteRank #4
[pricing_column id="107" title="Gold Membership" features="Feature 1|Feature 2|Feature 3" highlight="true"]
- Create or identify the products. In Products > All Products, open each plan and record its WooCommerce product ID. Confirm the product is published, purchasable, and priced correctly.
- Prepare the shortcode content. Replace the example ID, title, and feature text with your plan’s values. Separate each feature with a vertical bar (
|). Use the highlight attribute on only the recommended column. - Place the wrapper and columns. Add the wrapper shortcode and its column shortcodes in the page or shortcode block according to the extension’s documented syntax. Keep the columns in a deliberate order, usually from entry plan to highest tier.
- Check the add-to-cart target. The product ID supplies the button’s WooCommerce target. Test each button in a logged-out browser session and verify that the correct product, price, quantity, and variations appear in the cart.
- Set defaults in the Customizer. Use the extension’s Customizer settings for default colors and layout, then override only the column that needs emphasis.
Because the product is the source of the purchase action, change the price in WooCommerce rather than maintaining a different manual amount in the table. If you sell variable products, verify how the extension handles required variations before relying on a one-click button.
Use Product Table Builder for a catalog
A plan comparison and a product catalog are different interfaces. When visitors need to browse many products, filter results, sort columns, paginate, and add several items to a cart, use WooCommerce Product Table Builder instead of forcing dozens of products into a pricing grid. Its documented workflow includes an admin-created table, drag-and-drop configuration, an advanced query builder, sorting, pagination, customizable table elements, and add-to-cart functionality.
- Create the table from the WooCommerce or extension menu in the WordPress admin.
- Use the query builder to select the products or categories that belong in the table.
- Drag the needed elements into the desired order—for example, thumbnail, product name, price, stock, quantity, and add-to-cart control.
- Enable sorting and pagination when the result set is larger than a few products. Test the query with out-of-stock and variable products so empty or unavailable states are handled clearly.
- Insert the generated table where customers shop, then test adding one item, multiple items, and a product with required options.
Make the table readable, accessible, and mobile-friendly
Good styling helps visitors compare; it should not hide differences or make the table unusable with a keyboard or screen reader.
- Use real headings. Give the table a clear heading and identify header cells as headers. Do not simulate headings with bold paragraph text.
- Keep feature rows aligned. Put the same feature in the same row across all plans. If one plan needs an extra explanation, use a tooltip or linked details page rather than shifting every subsequent row.
- Do not rely on color alone. Pair a green check or muted style with text such as “Included” or “Not included.” Make the recommended badge understandable in text.
- Preserve keyboard focus. Check that every button and link receives a visible focus indicator and follows a logical tab order. Do not remove outlines just to achieve a visual effect.
- Maintain contrast. Verify text, button labels, disabled states, and badge text against their backgrounds. A pale “sale” color that looks attractive can become unreadable on a phone.
- Design for narrow screens. Test at common phone widths. Prefer stacked cards or intentional horizontal scrolling over tiny type. If the table scrolls horizontally, keep the feature-name column visible when the chosen tool supports it and make the scroll behavior obvious.
- Make buttons consistent. Use comparable button heights and labels, and leave enough spacing for touch input. The recommended button can have a stronger color, but all purchase buttons must remain distinguishable.
- Keep legal and billing text nearby. Put trial length, renewal terms, taxes, cancellation conditions, and annual commitment details where a visitor can read them before selecting a plan.
Test before publishing
Run a repeatable test rather than relying on the editor preview.
Free tools Windows power users keep installed
One-click scans. No signup required.
- Open the page in a private browser window and confirm every plan title, price, interval, feature, and button label.
- Activate each link and ensure it reaches the intended details page, signup flow, product, or checkout.
- For WooCommerce tables, add every plan to the cart and verify the product ID, price, quantity, tax display, and variation requirements.
- Tab through the entire table with a keyboard. Confirm that focus is visible and that no control is skipped or trapped.
- Use a screen reader or browser accessibility check to ensure headings, table headers, button names, and status text make sense without color.
- Test desktop, tablet, and narrow-phone widths. Look for clipped prices, wrapped buttons, overlapping ribbons, and horizontal scrolling that hides the plan name.
- Clear caches or regenerate page-builder CSS if the live page does not match the editor. Recheck after optimization or theme changes.
Vendor documentation describes styling controls, but it does not establish independent speed, accessibility, or conversion benchmarks for these options. Measure your own page if those outcomes matter, and avoid selecting a plugin solely on an unverified performance claim.
Maintain prices and plans without creating conflicts
Assign one system as the source of truth. For product-linked WooCommerce tables, the product record should own the price, currency, sale schedule, stock status, and purchasability. The table should supply explanatory copy and the purchase entry point.
Best Value
- Review the table whenever a product price, renewal interval, feature limit, or currency changes.
- Check both the displayed amount and the amount shown in the cart and checkout.
- Remove expired promotional ribbons and sale language immediately after an offer ends.
- Update destination links when a product, signup form, or checkout endpoint changes.
- Re-test monthly/yearly toggles after editing either billing option.
- Keep a list of pages, templates, shortcodes, and reusable blocks that contain the table.
- After a WordPress, theme, page-builder, or pricing-plugin update, inspect the live table on desktop and mobile.
Troubleshoot common pricing-table problems
The table block is not in the inserter
Search for “Table” in the block inserter and confirm you are editing a post or page with the standard WordPress editor. If you expected a plugin block, verify that the plugin is activated and that its block has not been disabled by an editor setting.
A WooCommerce button adds the wrong plan
Compare the column’s product ID with the ID shown when you edit the intended product. Test in a private window after clearing the cart. If the product is variable, confirm that the required variation can be selected; a simple product ID may not contain enough information to complete the purchase.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
The displayed price differs from checkout
Check whether the table contains a manually typed price while WooCommerce applies a sale price, tax setting, currency conversion, subscription renewal amount, or required option. Remove the conflicting manual value or update it immediately, and make the product record the authoritative amount.
A monthly/yearly toggle changes only the label
Inspect both toggle states and their links or product IDs. Each state must change the price, interval wording, and purchase destination when the billing products are different. If the selected tool cannot connect those states reliably, use separate buttons or separate tables instead of presenting a misleading switch.
Columns break on mobile
Shorten feature text, reduce decorative padding, and inspect the widget’s responsive settings. If the comparison still cannot fit, stack plan cards or enable a clearly labeled horizontal scroll. Do not solve the problem by making text too small to read.
The recommended badge covers content
Move the ribbon, increase the top padding, or reduce its text length. Recheck keyboard focus and the price at every responsive breakpoint after changing its position.
Quick Recap
A practical decision checklist
- Choose the core Table block when you have a few plans, static links, and minimal styling needs.
- Choose a Gutenberg pricing block when you need reusable layouts, badges, toggles, or richer controls while staying in Gutenberg.
- Choose Elementor’s Price Table widget when the page is already built in Elementor and visual editing is the priority.
- Choose a WooCommerce pricing-table extension when each plan button must target a product ID and add that product to the cart.
- Choose WooCommerce Product Table Builder when visitors must search, sort, paginate, and purchase from a larger product catalog rather than compare a handful of tiers.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




