Social links take a visitor to somebody else’s page. Custom blocks are for the things that are yours: your shop, your booking link, a video, an email address, a product. The Custom blocks panel holds twenty types, each styled independently of the social links settings and each rendering in its own list.

How the panel works #
There is a style section at the top, then the list of blocks you have added, then a grid of buttons — one per block type — for adding more.
Button style #
Two choices, working exactly as the social links one does:
- Button — vertical, left aligned, icon and text, filled, theme colours, rounded. Sets everything for you.
- Advanced PRO — the same six groups as the social links panel: layout, alignment, content, design, colours and shape.
Icon size #
Default, Medium, Large or Extra large. It applies to the icon or image of every block below, which is why it sits above the list.
The block list #
Each block is one collapsed row: a drag handle, a position number, the block’s name, and — if it is scheduled — a Scheduled badge. Click the row to open it and edit. The drag handle reorders.

NoteBlocks set to Always show stay on the card for good. Blocks set to Schedule appearance take themselves off and put themselves back. See Scheduling a block.
The twenty block types #
| Button | What it does | Plan |
|---|---|---|
| Add custom link | A button to any address. | Free |
| Add Email | A button that opens the visitor’s email app. | Free |
| Add YouTube | A video, embedded on the card or linked. | Free |
| Add Vimeo | A video, embedded on the card or linked. | Free |
| Add Spotify | A track, album, playlist, episode, show or artist. | Free |
| Add Calendly | A booking scheduler, embedded or linked. | Free |
| Add TikTok | A creator card or a single video. | Free |
| Add Pinterest | A profile or a single pin. | Free |
| Add Twitch | A channel, embedded or linked. | Free |
| Add divider | A heading with a line each side, for splitting a long card. | Free |
| Add Viber | Opens a Viber conversation. | PRO |
| Add WhatsApp | Opens a WhatsApp conversation. | PRO |
| Add Telegram | Opens a Telegram conversation. | PRO |
| Add Signal | Opens a Signal conversation. | PRO |
| Add iMessage | Opens Messages on Apple devices. | PRO |
| Add SMS | Opens the phone’s text message composer. | PRO |
| Add Shortcode | Runs any shortcode from your site inside the card. | PRO |
| Add contact card | A Save contact button placed anywhere on the card. | PRO |
| Add WooCommerce Coupon | A coupon readers can copy. | PRO |
| Add Product | A product with its live price and an add-to-cart button. | PRO |

In the free version the Pro block types are greyed out and carry a Pro badge rather than being hidden, so you can see what exists. One sentence under the whole list names them all, rather than ten identical notes stacked under ten buttons.
What every block shares #
Whatever its type, every block has these fields. Open any block row and they are at the top.
| Field | What it does |
|---|---|
| Icon | Any icon from the picker, or none. No icon gives you a text-only button. |
| Image | A picture instead of the icon. While this is set it wins over the icon, so you can swap between the two without losing either. |
| Primary color and Secondary color | Only shown when the button style is Advanced and Button colors is Custom. Hidden rather than removed otherwise. Defaults to a neutral grey, or the app’s brand colour for a messaging block. |
| When to show it | Always show, or Schedule appearance. See Scheduling a block. |
| Remove this block | Takes the block off the card. |
The link and email blocks #
Custom link #
The simplest block and the one you will use most. Two fields: the address, and the button text.
Email #
Two fields: the button text, and an email address. Pressing the button hands the address to the visitor’s own email app rather than opening a webmail page.
The address is checked when you save. A leading mailto: is stripped for you, and a row that is not a valid address after that is not kept — an email button that does nothing is worse than no email button.
The messaging blocks PRO #
Six buttons that open a conversation with a message already written in it. All six ask for the same three things, in the same order:
| Field | What it does |
|---|---|
| Phone | The number, digits only, country code first. Required — a row with no usable number is not kept. |
| Button text | What the button says. Left empty, the app’s own name is used. |
| Message to start with (optional) | Only offered for the four apps that accept one: WhatsApp, Telegram, Viber and SMS. |

What each app does differently #
| App | Message? | Opens a new tab? | Worth knowing |
|---|---|---|---|
| Yes | Yes | The same number reaches WhatsApp anywhere in the world. | |
| Telegram | Yes | No | Matches on the whole number, so a local number reaches nobody. |
| Viber | Yes | No | Also matches on the whole number. |
| SMS | Yes | No | The phone’s own composer. |
| Signal | No | Yes | Signal cannot start a chat with a message written here, so it opens empty. |
| iMessage | No | No | Opens Messages on iPhone, iPad and Mac, and does nothing anywhere else. The label on the button is the warning. |
Every one of these fields carries the same hint: Country code first, digits only, no + and no spaces. The + and the spaces are the two reasons these buttons most often fail — a number typed as +44 7700 900123 does not match.
The video blocks #
YouTube and Vimeo behave identically apart from the address they accept. Each has the same four options.
| Field | What it does |
|---|---|
| The address | The whole video address. Share addresses work as well as the ones in the address bar. |
| The title | Words shown above the player, or used as the button text when it is a link. |
| Display type | Embed video shows the player inside the block. Link to video makes it a plain button that opens the video on the site’s own player. |
| Visible | On, the player is there straight away with no click. Off, it is behind a button — which is what you want on a card that already has a lot in it. |
| Mute | Start the player without sound. YouTube and Vimeo only. |
| Autoplay | Play as soon as the player is shown. YouTube and Vimeo only. Browsers require Mute to be on as well, so Autoplay without Mute does nothing — that is the browser’s rule, not the plugin’s. |
For Vimeo there is one extra warning: paste the whole address of an unlisted video so its privacy hash comes with it. A bare video number is not enough.
TipEmbeds are lazy. A video on a card that is never expanded, or a card on a page nobody scrolls to, costs nothing to load. That is why Visible being off is a genuinely useful default on a long card.
The audio, booking and social blocks #
These four follow the same pattern as the video blocks — an address, a title, a Display type and a Visible switch — with two differences worth knowing.
| Block | Display type options | Note |
|---|---|---|
| Spotify | Embed player, Link to Spotify | Accepts a track, album, playlist, episode, show or artist. |
| Calendly | Embed scheduler, Link to Calendly | A scheduler embedded on a card is quite tall. Consider Visible off and a button instead. |
| TikTok | Embed profile, Link to TikTok | An embed draws the creator card; a single video or photo link embeds that post instead. |
| Embed profile, Link to Pinterest | An embed draws a profile card with its newest pins, or a single pin. Pinterest will not let any of its pages be framed, so this is read from its public feed rather than embedded directly. A board can only be linked to. |
The divider block #
The one block that carries no link. It is for splitting a long card into readable sections.
| Field | Options |
|---|---|
| Title | Leave empty for a divider with no text. |
| Text style | Default, UPPERCASE, Small, Upper small. |
| Alignment | Left, Center, Right. |
| Top space and Bottom space | Default, Small, Large. |
| Divider | Show draws the line either side of the text. Hide leaves just the spacing, which is a useful way to make a gap. |
| Text color | Leave empty to use the card’s text colour. |
A divider is the block to reach for when a card has grown past about eight buttons and started to feel like a list.
The contact card block PRO #
Same idea as the Save contact panel, but placed anywhere on the card rather than pinned to the corner. Useful when you want the contact button in the middle of a card, next to the email button.
It carries its own copy of the contact fields — full name, phone, email, organisation, job title, website, address and note. Every box is optional, and anything left empty falls back to the card’s Save contact panel, so you only fill in what is different here.
See The Save contact panel for what each field means.
The Shortcode block PRO #
Runs any shortcode from your site inside the card. The right tool when your booking form, donation form or membership form already exists as a shortcode.
| Field | What it does |
|---|---|
| Title | An optional heading above the output. |
| Shortcode | Paste it with its brackets. A bare tag on its own is enough too — the brackets are added for you. |
| Shortcode display | Foldable button puts the output behind the button. Inline, no button shows it straight away. |
CarefulEither way, the shortcode runs on every page load. Folding only hides the result; it does not stop anything running. If the shortcode is expensive — a query, an API call — use the foldable button and be aware the work still happens.
The WooCommerce blocks PRO #
Two blocks that need WooCommerce. If WooCommerce is not active the buttons are disabled and say so, and a card that already had one keeps working with its settings — the button stays, with a note that the shop can no longer honour it.
You do not need WooCommerce for anything else in this plugin. The two blocks are the only thing that does.
The Product block #
A product on the card, with its picture, title and price read live from your shop. Nothing is copied onto the card, so a product you rename or reprice needs no attention here.
| Field | What it does |
|---|---|
| Product | Search by name or SKU, then choose. The chosen product is shown as a small card with its picture, name, price and stock, and a Change button. |
| Display type | Product info opens a panel with the picture, title, price and a buy button. Link to product is a plain button to the product page. |
| Visible | Show the product straight away, without a click. |
| Image size | Default, Medium, Small. Small takes about 30% of the width and moves the photo beside the name and price, with the button under them rather than across the bottom. It is the only one that reflows. |
| Button text | The label on the button. Used for both the buy button and the view product link. |
| Product background, Product text color, Button background, Button text color, Button text alignment | Colours for the panel and its button. Empty means use the block’s own colours. Setting a background on its own and the text colour is worked out for you. |
The Coupon block #
A coupon a reader taps to copy to the clipboard.
| Field | What it does |
|---|---|
| Coupon | Pick one of the coupons WooCommerce holds, or type any other code by hand. |
| Coupon code | The code itself, when you typed it rather than picked it. |
| What is it for | A line above the coupon explaining what it does. |
| Label above the code | The small heading printed over the coupon. |
| Hint beside the code | The small text saying it can be copied. |
| Note spacing | Default, Smaller, Bigger — 25, 15 and 35 pixels. |
| Note background, Note text color | Colours for that explanatory line. |
| Coupon background, Coupon text color | Colours for the code, its label and the dashed edge around it. |
| Link text and Link URL | An optional button under the coupon — Shop now by default. Opens in a new tab. |
| Link background, Link text color, Link text alignment | Colours for that button. |
| Visible | Show the coupon straight away. |
If WooCommerce no longer holds a code you have saved, the card still shows it and says so: WooCommerce no longer holds this code. The card still shows it, but the shop will not honour it.
Reordering and removing #
- Drag the handle on the left of a row to move the block. Keyboard users can focus the handle and hold Alt with the arrow keys.
- Remove this block is at the bottom of an open row.
- Blocks that are scheduled but not live right now are left out of the page entirely — not printed as an empty row — so a hidden divider cannot change the spacing around the blocks that are showing.