How to Add a Button In WordPress

How to Add a Button in WordPress 2026: Complete Guide (With and Without Plugins)

🔑 Key Takeaways
  • The Gutenberg block editor is the fastest method for most users: WordPress 6.x includes a native Buttons block found under the Design section of the block inserter. Add a button, type your label, paste your URL, and customise colours — no plugins or code required.
  • Three reliable methods exist in 2026: The native Gutenberg Buttons block (fastest, no plugins), MaxButtons plugin with shortcodes (most design flexibility), and the Forget About Shortcode Buttons plugin (buttons persist even after plugin deactivation).
  • CSS custom buttons are still valid for developers: Adding a CSS class to a link and styling it in the Additional CSS panel of the WordPress Customizer gives complete design control without installing any plugin — ideal for developers who want to keep plugins lean.
  • Buttons dramatically improve conversion rates: Styled call-to-action buttons consistently outperform plain text links for affiliate clicks, landing page CTAs, and internal link navigation — making this one of the highest-ROI formatting improvements available in WordPress.
  • The Gutenberg Buttons block in 2026 supports fill and outline styles, gradient backgrounds, border radius, hover states, custom typography, width settings, and individual button spacing — all without writing a single line of code.

Why Adding Buttons to WordPress Matters More Than You Think

A plain text hyperlink and a well-designed call-to-action button serve the same technical purpose — both take a visitor somewhere when clicked. But they perform very differently in practice. Styled buttons attract the eye, communicate urgency, and signal to visitors that a specific action is being invited. Text links blend into surrounding content. Buttons stand apart from it.

The business implications are measurable. Studies across e-commerce and SaaS landing pages consistently show that replacing text links with styled CTA buttons increases click-through rates by 28–45% depending on button design, colour contrast, and placement. For a WordPress site that uses affiliate links, drives newsletter signups, sells products through WooCommerce, or directs traffic to key internal pages, these conversion improvements translate directly into revenue and engagement outcomes.

Beyond conversion, buttons serve navigation and accessibility functions. Well-designed buttons with sufficient colour contrast, clear labels, and appropriate touch target sizes (minimum 44×44px on mobile) improve the experience for all visitors — including those using screen readers or navigating by keyboard. WordPress’s native Gutenberg Buttons block includes ARIA accessibility attributes automatically, making the built-in method the most accessibility-compliant approach without additional configuration.

Why You Might Need to Add Buttons in WordPress

Before choosing which method to use, it is worth understanding the common situations where WordPress buttons solve real problems:

  • Affiliate link promotion: A prominent, coloured button with a label like “Check Current Price” or “Get This Deal” converts significantly better than a text link embedded in body copy. See our affiliate link cloaking plugins guide for the complete affiliate strategy context.
  • Internal navigation CTAs: Guide readers to your most important category pages, cornerstone content, or product pages with buttons that stand out from surrounding text.
  • WooCommerce product pages: Custom buttons for “Add to Cart,” “View Product,” or promotional offers beyond WooCommerce’s default styling.
  • Landing page CTAs: “Download Now,” “Get Started,” “Book a Free Call,” or any other primary conversion action on dedicated landing pages.
  • Newsletter and opt-in forms: Submission buttons that match your brand’s colour palette rather than the generic browser default button style.
  • External resource links: When linking to partner sites, tools, or recommended resources, a button communicates the link’s importance more effectively than plain anchor text.

Method 1: Adding a Button Using the WordPress Gutenberg Block Editor (Recommended — No Plugins)

The Gutenberg block editor’s native Buttons block is the fastest, cleanest, and most maintenance-free way to add buttons in WordPress in 2026. It requires no plugin installation, produces no shortcode clutter in your content, and gives you a live visual preview of your button as you design it. For the majority of WordPress users who are not developers, this is the method to use.

Step-by-Step: Adding the Gutenberg Buttons Block

Adding a button in WordPress Gutenberg block editor — click the plus icon, search Buttons under Design, type label and add URL

  1. Open your post or page in the Gutenberg editor and position your cursor where you want the button to appear.
  2. Click the plus (+) icon to open the block inserter — either the floating one that appears between blocks or the one in the top-left corner of the editor toolbar.
  3. Type “Buttons” in the search bar at the top of the block inserter. The Buttons block appears under the Design section. Click it to insert the block.
  4. Type your button label directly in the white button area. Use clear, action-oriented text: “Get Started,” “Download Free Guide,” “Shop Now,” “Learn More,” “Book a Call,” or whatever your specific CTA requires.
  5. Add your URL: Select all the button text, then press Cmd+K (Mac) or Ctrl+K (Windows) to open the link panel. Paste your destination URL. Toggle “Open in new tab” if linking to an external site.
  6. Choose your button style: In the block toolbar above the button, you can toggle between Fill (solid background) and Outline (transparent with border). Fill is the higher-converting option for primary CTAs; Outline works well for secondary actions.
  7. Customise appearance: Open the block settings panel on the right sidebar (click the gear icon if not visible). Here you can set background colour, text colour, border radius (for rounded or square corners), and button width. WordPress will warn you if your colour combination has insufficient contrast for accessibility.

Customising a WordPress Gutenberg button — changing background colour, text colour, style and border radius in block settings panel

Advanced Gutenberg Button Options in 2026

The Gutenberg Buttons block has expanded its customisation options significantly through 2024 and 2025 updates. In WordPress 6.x (current as of 2026), the Buttons block supports:

  • Multiple buttons in one block: Click the “Add Button” option within the Buttons block to insert additional buttons side-by-side, useful for primary/secondary CTA pairs like “Get Started” and “Learn More.”
  • Width settings: Set buttons to 25%, 50%, 75%, or 100% of the available column width — or leave at auto width to fit the label text. Full-width buttons perform particularly well on mobile.
  • Gradient backgrounds: The colour picker supports gradient backgrounds — linear and radial gradients using your theme’s colour palette or custom hex values.
  • Border radius control: Slide from 0 (square corners) to higher values (fully rounded, pill-shaped buttons). Most modern designs use 4–8px radius for a professional look; pill-shaped buttons (50px+) work well for hero section CTAs.
  • Justification: Align the button group left, center, or right within its container using the justification controls in the block toolbar.
  • Typography: Set custom font size for button text independently from your body text settings.
💡 GSG Pro Tip: For the highest-converting buttons, follow these evidence-based design principles: (1) Use high-contrast colours — your button should stand out clearly from the surrounding background; (2) Write specific, action-oriented labels — “Download the Free Guide” outperforms “Click Here” significantly; (3) Use white space around your button — the Gutenberg Buttons block’s spacing controls let you add top and bottom margin to isolate your CTA from surrounding content; (4) Avoid using more than two buttons per section — too many competing CTAs reduce conversion on each individual action.

Method 2: Adding a Button in WordPress Using the Classic Editor

If your WordPress site still uses the Classic Editor (the TinyMCE-based editor that predated Gutenberg), the block-based approach above is not available. Here is the equivalent method for Classic Editor users.

Related Post  Challenges in WordPress Responsive Web Design

In the Classic Editor, there is no native button option in the toolbar. Your options are:

  1. Switch to the Text tab in the editor and write the HTML directly: <a href="YOUR_URL" class="your-button-class">Button Text</a>
  2. Style that class in Appearance → Customise → Additional CSS (see the CSS method below)
  3. Use a button plugin like MaxButtons or Forget About Shortcode Buttons (both support Classic Editor)

Note: WordPress officially supports the Classic Editor plugin for sites that need it, but Gutenberg has been the default editor since WordPress 5.0 (December 2018) and is the actively developed direction. Migrating to the Gutenberg editor and using the native Buttons block is the recommended path for all new content and most existing sites.

Method 3: Creating WordPress Buttons With CSS (No Plugin — For Developers)

For developers who prefer not to install plugins and want pixel-perfect control over button styling, the CSS approach remains fully valid. This method works in both Gutenberg and Classic Editor, and keeps your plugin list lean.

Step 1: Add a Link With a CSS Class

In the Gutenberg editor, add a regular link. Then click the three-dot menu in the block toolbar and select “Edit as HTML.” This exposes the underlying anchor tag, where you can add a class attribute:

Adding a link in WordPress editor as the first step to creating a CSS button — highlight text and add URL

In the HTML view, modify the tag to read:

<a href="https://your-url.com" class="mybutton">Your Button Text</a>

Adding a CSS class to a WordPress link in the Text tab — adding class equals mybutton to the anchor tag

Step 2: Add CSS in the WordPress Customizer

Navigate to Appearance → Customize → Additional CSS and paste your button styles:

Opening the WordPress Customizer by clicking Customize in the admin toolbar — used to add Additional CSS for button styling

.mybutton {
  display: inline-block;
  background-color: #4285f4;
  border: none;
  border-radius: 6px;
  color: #ffffff;
  padding: 14px 28px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.mybutton:hover {
  background-color: #2c6fd9;
  color: #ffffff;
}

Adding CSS button styling in the WordPress Customizer Additional CSS panel — the button preview changes in real-time

As you type CSS into the Additional CSS panel, you will see the button’s appearance update in real-time in the Customizer preview. Adjust the hex codes, padding values, font size, and border radius until you achieve the look you want.

CSS Properties Explained

CSS Property What It Controls Common Values
background-color Button fill colour Hex codes (#4285f4), RGB, or named colours
color Button text colour #ffffff (white) on dark buttons; #000000 on light
padding Space between text and button edge 12px 24px (top/bottom left/right)
border-radius Corner rounding 0 (square), 4–8px (subtle), 50px (pill shape)
font-size Button text size 14px–18px for most buttons
font-weight Text boldness 600 or 700 for readable button text
display How the button sits in the layout inline-block (sits inline), block (full width)
transition Smooth hover colour change animation background-color 0.2s ease
text-decoration Removes underline from link text none (always add this for buttons)

Advanced CSS Considerations for Production Buttons

A basic CSS button works, but production-quality buttons need additional considerations:

  • Responsive design: Add a media query to adjust padding and font size on mobile. Buttons that look balanced on desktop can feel cramped on a 375px phone screen.
  • Hover state: Always add a .mybutton:hover rule that slightly darkens or lightens the background. This provides visual feedback that the button is interactive — a critical usability signal.
  • Focus state: Add .mybutton:focus styling with a visible outline for keyboard navigation accessibility compliance.
  • Containers: Wrap buttons in a <div> with text-align: center to centre them without affecting the surrounding content flow.
Critical Safety Note: If you add CSS to the WordPress Customizer’s Additional CSS panel and later switch themes, this CSS may not carry over — it is theme-specific. If your button CSS needs to persist across theme changes, add it to a child theme’s style.css file or use a dedicated “Additional CSS” plugin like Simple Custom CSS that stores the CSS independently of the active theme.

Method 4: Using the MaxButtons Plugin (Shortcode-Based)

MaxButtons is a freemium plugin that eliminates the need to write CSS by providing a graphical interface for designing buttons. Once a button style is created, it inserts into content via shortcode — making it easy to reuse the same design with different URLs and labels across your site.

Setting Up MaxButtons

  1. Go to Plugins → Add New and search for “MaxButtons.” Install and activate the free version.
  2. Navigate to MaxButtons → Add New in the WordPress sidebar.

MaxButtons plugin Add New interface in WordPress dashboard — create button designs with live preview and graphical controls

Configuring Your Button in MaxButtons

MaxButtons design interface showing button basics panel with URL, text, font settings and live preview on the right

The MaxButtons interface is divided into logical sections. Here is what each controls:

  • Basics: Enter the button name (internal reference), URL, button text, font, font size, and text styling. A live preview updates on the right as you make changes.
  • Padding: Adjust spacing between the text and the button edges on all four sides. If all padding is zero, button text clusters awkwardly at the top edge — add equal top and bottom padding to vertically centre the text.
  • Button Width / Height: Set explicit dimensions if you want consistent button sizes regardless of text length. Leave at auto for text-fitted sizing.

MaxButtons button with zero padding showing text misaligned at top edge — demonstrating why padding configuration matters

MaxButtons button with top padding added — text now centred vertically within button for professional appearance

Border Settings in MaxButtons

MaxButtons border settings panel showing border radius, border colour, border style and shadow controls

The Border section controls corner radius (0 = square, higher = rounded), border colour and style (for outlined button designs), and shadow effects. The shadow options let you add directional drop shadows — adding shadow to the bottom and right edges creates a subtle 3D depth effect that makes buttons feel more clickable.

MaxButtons border radius demonstration showing different corner roundness values from square to fully rounded

MaxButtons button with yellow border applied — demonstrating Style, Width and Border Color settings for outlined buttons

MaxButtons shadow effect demonstration — shadow offset creates directional depth on the button's right and bottom edges

Inserting MaxButtons Into Your Content

Once your button is saved, inserting it uses one of two methods:

MaxButtons Add Button option in WordPress post editor toolbar — click to select saved button design and insert into content

Method A — Add Button Interface: In the post editor, click the Add Button option that appears in the toolbar after MaxButtons is activated. Select your saved button style, then change the URL and label for this specific placement:

MaxButtons button selection modal — choose saved button style before inserting into post or page content

MaxButtons button URL and text override panel — change destination URL and label while preserving saved button styling

Method B — Shortcode Parameters: Use the base shortcode with parameters to customise URL and text inline:

[ maxbutton id="1" text="Download the Guide" url="https://your-url.com" ]

MaxButtons dashboard showing shortcode for button ID 1 — copy this to use the button design in widgets, sidebars or classic editor

Key shortcode parameters:

  • text="YOUR_TEXT" — Override button label
  • url="YOUR_URL" — Override destination URL
  • window="true" — Open link in a new tab
  • nofollow="true" — Add rel=”nofollow” (for affiliate or sponsored links)

Here is the shortcode in action with different text parameters, all using the same base button design (ID 1):

MaxButtons shortcode example 1 — base shortcode inserts button with original text and URL as configured

MaxButtons shortcode example 2 — text parameter overrides button label while preserving all other design settings

MaxButtons shortcode example 3 — both text and URL parameters changed while button design style remains identical

MaxButtons Pro Features

MaxButtons Pro upgrade options showing pre-built button packs, icon support, multi-line text and Google Analytics event tracking

The free version of MaxButtons covers most needs. MaxButtons Pro adds:

  • Pre-built professional button packs ready to use immediately
  • Icon support (Font Awesome integration) for icon-plus-text buttons
  • Multi-line button text for longer CTAs
  • Google Analytics Event Tracking to measure button click rates

Method 5: Using the Forget About Shortcode Buttons Plugin (Persistent Buttons)

The Forget About Shortcode Buttons plugin solves a problem that trips up many WordPress users: plugin dependency. With shortcode-based button plugins, if you ever deactivate or uninstall the plugin, all your buttons across the site revert to displaying raw shortcode text — broken content throughout your site. The Forget About Shortcode Buttons plugin bypasses this by embedding the button directly as standard HTML in the post content, not as a shortcode. This means the button persists even if you deactivate the plugin later.

Setting Up Forget About Shortcode Buttons

  1. Go to Plugins → Add New and search for “Forget About Shortcode Buttons.” Install and activate.
  2. Open a post or page in the Classic Editor. You will see a new Insert Button icon in the editor toolbar.

Forget About Shortcode Buttons plugin activated in WordPress — showing Install and Activate confirmation in dashboard

Insert Button icon in WordPress Classic Editor toolbar — click to open Forget About Shortcode Buttons design modal

Forget About Shortcode Buttons design panel showing button name, URL, customisation options and icon tab

The button design panel lets you configure the button name, URL, label text, colours, sizing, and style. Crucially, you can also add icons from the icon tab and save button templates for reuse.

Forget About Shortcode Buttons icon tab — add Font Awesome icons to buttons and save design templates for future reuse

Once you click Insert, the button appears directly in your post content as styled HTML — not a shortcode. This is the key advantage: the button’s visual appearance is embedded in the content itself, making it immune to plugin deactivation.

💡 GSG Pro Tip: If you are managing a client’s WordPress site and want buttons that remain visible regardless of future plugin changes, Forget About Shortcode Buttons is the most risk-free option. The plugin embeds clean, inline-styled HTML directly into the post content during creation — so even if the plugin is completely removed months later, the button remains visible and functional. This makes it ideal for client handover situations where you cannot guarantee plugin maintenance continuity.

Method Comparison: Which WordPress Button Method Should You Use?

Method Best For Requires Plugin? Persists After Plugin Removal? Design Flexibility Difficulty
Gutenberg Buttons Block Most users in 2026 — fastest, cleanest No Yes — native block Good (colour, radius, width, gradient) ⭐ Very Easy
CSS in Customizer Developers; consistent site-wide styling No Yes (if in child theme) Unlimited ⭐⭐⭐ Moderate
MaxButtons (free) Classic Editor users; reusable button styles Yes No — shortcodes break if deactivated Excellent (visual builder) ⭐⭐ Easy
Forget About Shortcode Buttons Client sites; buttons that must persist Yes Yes — HTML embedded in content Good (visual builder + icons) ⭐⭐ Easy
MaxButtons Pro Advanced needs — analytics, icons, packs Yes (paid) No — shortcodes break if deactivated Excellent + pre-built packs ⭐⭐ Easy
Related Post  Amateur Blogger Mistakes You Should Never Make

Button Design Best Practices for Higher Conversions in 2026

Adding a button is straightforward. Making it convert is where the real work lies. These evidence-based design principles apply regardless of which method you use to create your WordPress buttons:

Design Element Best Practice What to Avoid
Button Colour High contrast with page background; matches brand but stands out Same colour as background; colours with insufficient contrast ratio (<4.5:1)
Button Label Specific action verbs: “Download the Guide,” “Start Free Trial,” “Get Instant Access” Generic: “Click Here,” “Submit,” “More Info,” “Learn More” (overused)
Button Size Minimum 44×44px touch target on mobile; proportional to surrounding content Tiny buttons that are hard to tap on mobile; oversized buttons that dominate the layout
Button Placement Above the fold for primary CTAs; after benefit descriptions for secondary CTAs Buried in body text; more than 2 CTAs competing on a single page section
Hover State Slightly darker or lighter background on hover to confirm interactivity No hover state (button feels static and unresponsive)
White Space Adequate margin above and below the button to isolate it from body text Button immediately touching adjacent text with no breathing room
💡 GSG Pro Tip: Test your button colours against the WebAIM Contrast Checker before finalising. A minimum contrast ratio of 4.5:1 between button text and background colour is required for WCAG 2.1 AA accessibility compliance — which WordPress itself targets. Passing this check also correlates with better readability for all users, including those in bright sunlight on mobile screens, improving conversion rates in addition to accessibility.

Responsive Button Design: Mobile-First Considerations

In 2026, over 60% of WordPress site traffic arrives on mobile devices. A button that looks balanced and professional on a 1440px desktop monitor can feel cramped, oversized, or poorly proportioned on a 375px phone screen. Both the Gutenberg Buttons block and the MaxButtons plugin include responsive settings — use them.

In the Gutenberg Buttons block, the Width setting allows you to set full-width (100%) buttons specifically for mobile viewports — a common pattern that makes primary CTAs much easier to tap on small screens without requiring users to aim at a small target. In MaxButtons, the Responsive Settings panel lets you create separate CSS query rules for different device sizes, overriding padding, font size, and width for specific breakpoints.

For CSS-based buttons, add a media query:

@media (max-width: 600px) {
  .mybutton {
    display: block;
    width: 100%;
    text-align: center;
    padding: 16px 20px;
  }
}

This rule makes the button full-width on screens narrower than 600px — the threshold below which most smartphone browsers render at.

Related Articles From GetSocialGuide

Summary

Adding buttons to WordPress in 2026 is genuinely easy regardless of your technical background. The Gutenberg block editor’s native Buttons block is the recommended starting point for most users — no plugins, no code, immediate visual feedback, and a growing feature set that now includes gradients, border radius control, width settings, and multiple buttons per block. For Classic Editor users, MaxButtons provides a visual design interface with shortcode-based reuse across the site. For situations requiring buttons that survive plugin deactivation, Forget About Shortcode Buttons embeds the HTML directly into content. For developers who want complete CSS control without plugins, the CSS class approach in the Customizer remains a clean, maintainable solution.

Whichever method you choose, the conversion and user experience benefits of adding styled buttons to your WordPress content are significant. A well-designed, high-contrast button with a specific, action-oriented label consistently outperforms plain text links for every CTA type — affiliate clicks, downloads, sign-ups, purchases, and internal navigation alike. The five minutes invested in setting up your first WordPress button pays dividends in engagement metrics across every page where it appears.

FAQ

Q: How do I add a button in WordPress without a plugin?
A: The easiest plugin-free method is the native Gutenberg Buttons block. Click the plus (+) icon in the block editor, search “Buttons,” insert the block, type your label, add your URL, and customise colours and border radius in the right sidebar. No plugin, no CSS, no code required. Alternatively, for CSS-based buttons: add a CSS class to a link in the HTML view, then add the button styling to Appearance → Customize → Additional CSS.
Q: Where is the Button block in the Gutenberg editor?
A: The Buttons block is found under the Design section of the block inserter. Click the (+) icon to open the block inserter, then either scroll to the Design category or type “Buttons” in the search bar. Note that WordPress uses “Buttons” (plural) as the block name — searching “Button” (singular) works equally well. Once inserted, you can add multiple individual buttons within one Buttons block by clicking the Add Button option that appears when the block is selected.
Q: What is the best WordPress button plugin in 2026?
A: For most users, the native Gutenberg Buttons block eliminates the need for a dedicated button plugin entirely. If you need a plugin, MaxButtons (free) is the most established option with over 300,000 active installs, providing a visual button builder with shortcode-based insertion and reuse. For buttons that must persist even if the plugin is deactivated, Forget About Shortcode Buttons embeds button HTML directly into content. For client sites, Forget About Shortcode Buttons is the safer choice because buttons remain visible regardless of future plugin management decisions.
Q: How do I make a button open in a new tab in WordPress?
A: In the Gutenberg Buttons block: click the link icon in the block toolbar, add your URL, and toggle the “Open in new tab” switch in the link panel. In MaxButtons: enable the “New Window” option in the Basics section. In the Forget About Shortcode Buttons plugin: check the “Open in new window” option in the button design panel. For CSS-based buttons: add target=”_blank” rel=”noopener noreferrer” to the anchor tag in the HTML view. Always add rel=”noopener noreferrer” alongside target=”_blank” for security reasons.
Q: How do I add a nofollow attribute to a WordPress button?
A: For affiliate or sponsored button links, adding rel=”nofollow” is important for SEO compliance. In the Gutenberg Buttons block, you currently need to switch to HTML view and add the rel attribute manually to the anchor tag. In MaxButtons, use the shortcode parameter nofollow=”true” to add it automatically. In the CSS method, add rel=”nofollow” directly to the anchor tag in the HTML view. The Rank Math SEO plugin also offers a link settings panel that can add nofollow attributes to selected links across the Gutenberg editor.
Q: Why does my WordPress button not appear in the editor but shows on the published page?
A: This is expected behaviour specifically with the MaxButtons shortcode plugin. Because MaxButtons uses shortcodes rather than native blocks, the button renders on the front-end (published page) but appears as a shortcode placeholder in the editor view. This is normal — click Preview or visit the published page to see the rendered button. The Gutenberg native Buttons block does not have this issue — the button renders visually in the editor exactly as it appears on the published page.

How to Add a Button In WordPress - GetSocialGuide – Grow & Monetize Your WordPress Blog with Social Media

Don’t miss these tips!

We don’t spam! Read our privacy policy for more info.



Get Proven SEO & WordPress Tips Weekly

Unlock proven strategies to grow your traffic, improve rankings, and scale your online presence faster.

We don’t spam! Read our privacy policy for more info.

Leave a Reply

Your email address will not be published. Required fields are marked *