better_messages_video_call_button
Embed a video call button anywhere on your WordPress site that starts a one-on-one video call with a specified user. The shortcode works inside posts, pages, custom-built profile templates, page builders (Elementor / Bricks / Beaver), and any theme location that accepts shortcodes.
When to use it#
| Scenario | Where you'd place the shortcode |
|---|---|
| Coaching / consulting profile pages | On the coach's listing page so prospects can start a call directly |
| Marketplace vendor profiles | On the vendor's storefront for buyer-to-seller live demo calls |
| Telemedicine / appointment booking | On the practitioner's profile after a booking is confirmed |
| Custom member directory cards | In the per-member card template to expose a "Call" CTA |
| Author bio boxes | Below blog posts for direct-to-author calls |
Attributes#
| Attribute | What it controls | Default |
|---|---|---|
| text | Button label text shown to the visitor | "Video Call" |
| user_id | The recipient — the user who will receive the call | Author of the current WordPress post or page |
| url_only | Set to 1 to return only the call URL (no button HTML). Useful for custom button styling. | 0 |
| target | HTML target attribute on the rendered anchor (e.g. _blank to open in a new tab) | None |
| class | Additional CSS class names on the button element for styling overrides | None |
Examples#
Basic — call the post author#
[better_messages_video_call_button]
Renders a button with the default "Private Message" label. Clicking it starts a video call with the author of the current post or page. Best for blog author bio boxes and CPT detail pages.
Custom label and explicit recipient#
[better_messages_video_call_button text="Start Video Call" user_id="42"]
The button label reads "Start Video Call" and connects to the user with ID 42 regardless of the current post author. Useful when the button lives outside a post context (sidebar, custom page).
URL only — for custom-styled button#
<a class="my-custom-btn" href="[better_messages_video_call_button user_id="42" url_only="1"]">
Talk to support live
</a>
Returns just the URL string. Wrap it in your own anchor element and apply any custom styling. The URL handles all the call-launching logic — clicking it opens the live video call in the Better Messages widget.
Themed class for design integration#
[better_messages_video_call_button text="Video Call" class="btn-primary btn-lg"]
Adds extra CSS classes to the rendered button — pair with Bootstrap / Tailwind / your theme's own button styles for consistent design.
Frequently asked questions#
Does the button work for users who aren't logged in?#
Guests can see the button, but clicking it will redirect them to log in (or to your guest-chat flow, if guest access is enabled for video calls). The actual call requires both parties to have a session.
What happens if the recipient is offline?#
The recipient sees a missed-call system message in the conversation when they next open the thread. Better Messages doesn't queue ringing for offline users.
Will this work with the free version?#
No — video calls require the WebSocket version. The shortcode will still render the button, but clicking it shows a notice that the feature requires upgrading.
Can I make the button appear only for specific user roles?#
The shortcode doesn't have role gating built in. Use a wrapping conditional in your theme or a shortcode-permission plugin if you need that. Alternatively, use the per-role call restrictions in Settings → Calls to control who can place calls at the global level.
See also#
- Audio call button shortcode — same pattern for voice-only calls
- Mini chat button shortcode — open the mini chat widget
- Video calls feature — full feature documentation
- WordPress video call plugin — feature overview blog post