Foyer

How to add Square Appointments booking to WordPress

There is no official Square Appointments plugin for WordPress. You add booking with Square’s button code or the Foyer widget, in a Custom HTML block or site-wide with a header and footer plugin. Here is how, for WordPress.org and WordPress.com.

Updated October 9, 2026 · 2 min read

Short answer

Paste Square’s button or embed code into a Custom HTML block. For a Book button on every page, install the free WPCode plugin and paste the Foyer widget under Code Snippets > Header & Footer > Footer. On WordPress.com, scripts need a paid plan with hosting features activated.

  • Only admins and editors can save scripts on WordPress.org
  • Clear your cache plugin after installing
  • Works with any theme

Option 1: Square’s button in a Custom HTML block

  1. Open your booking channels. Square Dashboard > Appointments > Online Booking > Channels.
  2. Choose how to add it. Under “Add your booking flow to an existing site,” click Get Started, then Create button, Get embed code or Get URL.
  3. Copy the code or link. Pick the location, customize the button if you made one, and copy.

Square’s embed opens the booking flow “in another tab or window,” so the booking itself happens on Square’s page, not yours. That is fine for a simple site. If you want booking to stay on your page in your design, use the Foyer widget below.

Paste it into WordPress

  1. Edit the page in the block editor. Click the block inserter or type /html, and add Custom HTML.
  2. Paste Square’s code. Then click Update.
  3. Check the live page. If the button is missing, see troubleshooting below.

Option 2: the Foyer widget on WordPress

The Foyer widget books into Square Appointments from your own page, as a popup with a floating Book button or inline inside a page, with deposits, member prices, packages and promo codes. Your install code comes from the Foyer dashboard with your ID filled in:

<script src="https://app.foyerkit.com/widget.js" data-merchant="your-id" async></script>

Floating Book button on every page

  1. Install WPCode. Plugins > Add New > search “WPCode – Insert Headers and Footers” > Install > Activate. It is free, with over 3 million installs.
  2. Open Code Snippets > Header & Footer. Paste the Foyer code into Footer.
  3. Save and clear your cache. Purge any caching or optimization plugin, then load the live site.

Comfortable with themes? Add the script through your child theme’s wp_enqueue_scripts instead. For inline booking on one page, use a Custom HTML block with inline mode.

WordPress.org vs WordPress.com

WordPress.org (self-hosted)WordPress.com
Custom HTML block with scriptsAdmins and editorsPaid plan, hosting features on
Header and footer pluginAnyPersonal plan and up
Free planNo plan neededScripts not allowed

WordPress.com: “You can use JavaScript on sites with a plugin-enabled plan and activated hosting features.” Activating hosting features changes your default address to wpcomstaging.com (your own domain still works). On WordPress.org multisite, only Super Admins can save scripts.

Sources, checked October 9, 2026: WordPress: Custom HTML block, WordPress: roles and capabilities, WordPress.com: adding code, WordPress.com: code, Square: client-facing booking tools.

If the booking button disappears

  • Saved by the wrong role. WordPress strips <script> and <iframe> from users without the unfiltered_html capability, such as contributors. Save it as an administrator.
  • Caching or script optimization. Plugins that combine or delay scripts can break widgets. Exclude widget.js and purge the cache.
  • Booking plugins fighting each other. If you used a WordPress booking plugin before, turn it off so clients don’t book in two calendars.

Questions Square sellers ask

Is there a Square Appointments plugin for WordPress?

There is no official one. Add Square’s booking button or embed in a Custom HTML block, or add a widget such as Foyer site-wide with a header and footer plugin.

Can I add scripts on WordPress.com?

Yes on paid plans with hosting features activated. Free WordPress.com sites can’t add scripts or iframes.

Why did my embed code disappear in WordPress?

WordPress removes scripts and iframes saved by users without the unfiltered_html capability. Save the block as an administrator, or on multisite as a Super Admin.

Do I need WooCommerce to take Square payments for bookings?

No. Square Appointments and Foyer take payments through your Square account. WooCommerce is only needed to sell products.

Will bookings from my website show up in Square?

Yes. Square’s own button and Foyer’s widget both book straight into Square Appointments, with the client in your Square customer directory and payments in your Square account.

Give your Square business a front door.

Branded booking, deposits, memberships and a website, connected to the Square account you already run.