Steam Store Embed
A small WordPress plugin that turns a pasted Steam store URL into Steam's official embeddable game widget (cover art, description, price).
by NeutralX2 · github.com/neutralx2/nx2-steam-embed · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/neutralx2/nx2-steam-embed/archive/refs/heads/main.zipA small WordPress plugin that turns a pasted Steam store URL into Steam's official embeddable game widget (cover art, description, price).
What it does
Paste a link to a game's Steam store page on its own line in a post, e.g.:
https://store.steampowered.com/app/570/Dota_2/
and the plugin replaces it with an iframe showing Steam's widget for that app:
<iframe class="steamstore" src="https://store.steampowered.com/widget/570/" width="100%" height="190" frameborder="0" scrolling="no"></iframe>
It works by registering a custom embed handler with wp_embed_register_handler(), WordPress's built-in mechanism for turning bare URLs into rich content (the same system used for YouTube, Twitter, etc.). The plugin matches any store.steampowered.com/app/{id}/... URL, pulls out the numeric app ID, and builds the widget iframe from it — no API calls or external requests involved.
Usage
Plain URL (recommended)
In the editor, put the Steam store URL on its own line/paragraph:
https://store.steampowered.com/app/570/Dota_2/
This works in both the block editor (as a Paragraph or Embed block) and the classic editor. The widget renders at width="100%", so it fills whatever column it's placed in — post content, a narrower sidebar widget area, etc.
Custom width
To force a specific pixel width instead of the fluid 100% default, wrap the URL in WordPress's built-in [embed] shortcode with a width attribute:
[embed width="400"]https://store.steampowered.com/app/570/Dota_2/[/embed]
Type this directly into a paragraph, or use the block editor's Shortcode block. Only width is configurable — height is fixed at 190 to match the actual height of Steam's widget content; overriding it either clips the widget (too short) or leaves dead space below it (too tall), so it's intentionally not exposed.
If the URL inside [embed]...[/embed] doesn't match a Steam store page, WordPress just falls back to its normal embed/link behavior — there's no error state to worry about.
Notes
- Only
store.steampowered.com/app/{id}/URLs are matched; other Steam URLs (search, tags, developer pages, etc.) are left alone. - The generated markup is filterable via the
embed_steamstorefilter ($embed, $matches, $attr, $url, $rawattr) if you need to customize it further from a theme or another plugin. - Requires no configuration, settings page, or activation steps — installing and activating the plugin is enough.