Docs

Embeds, video and audio

Bare URLs that become players and embed cards — and the ones that don't.

A bare URL on its own line — no markdown link syntax, nothing else on the line — is treated as an embed candidate. Anywhere else, a URL is just a link.

Supported providers

These become a wp:embed block:

  • YouTube
  • Vimeo
  • TikTok
  • Spotify
  • SoundCloud
  • Wistia

Verified rendering on a live site: YouTube, Spotify and TikTok. Twitter/X and Instagram have retired their oEmbed endpoints, so those URLs render as plain links and always will. Pressbotics creates the embed block; WordPress then resolves it with the provider, and resolution can also fail for a site that cannot reach the provider, or a private video. A provider that will not embed stays a plain link — the post still publishes and embed_status comes back "partial" with the exact provider error.

Any other URL stays an ordinary paragraph or link. Embedding is not universal — do not assume an arbitrary URL will render as a card.

Self-hosted video and audio

A bare link on its own line pointing at a media file becomes a real player block, not a link and not an embed card.

KindExtensionsBlock
Video.mp4 .webm .ogv .mov .m4vwp:video
Audio.mp3 .wav .m4a .ogg .oga .flacwp:audio
Here is the walkthrough.

https://cdn.example.com/walkthrough.mp4

And the audio version.

https://cdn.example.com/episode.mp3

What the response tells you

embed_status reports none, ok, partial or failed, and embeds lists the URLs that were found and what each became. "partial" means at least one embed did not resolve while the post itself published — read the list rather than assuming.

What can go wrong

  • The URL was written as [watch this](https://youtu.be/...). Markdown link syntax stays a link. Put the bare URL on its own line.
  • The URL sits on the same line as other text. It will not be treated as an embed.
  • A provider that is not in the list above. It stays a link — that is correct behaviour, not a failure.
  • A private or unlisted video. The embed block is created, but the provider decides whether it plays for your readers.