Appearance
Embedding on Another Site
What the owner pastes
Copy Embed Code puts two lines on the clipboard:
html
<div class="voxel-review-embed"
data-config="a1b2c3…"
data-style="compact"
data-api="https://your-directory.com"></div>
<script src="https://your-directory.com/wp-content/plugins/voxel-embed-reviews/assets/js/voxel-embed.js?ver=1.2.2" async defer></script>The div is a placeholder. The script asks your site for that listing's current score and draws the badge into it. It works on any site that can run a script tag — WordPress, Squarespace, Wix, a hand-written HTML page.
What it does on their page
- Draws the badge, styled entirely by the plugin, so it does not inherit or fight their theme.
- Links back to the listing on your site. The link is followed, opens in a new tab, and carries an accessible label built from your anchor text template.
- Injects nothing else. No tracking, no cookies, no structured data — see SEO & Structured Data for why the markup lives on your site instead.
The script is safe to include more than once and renders every placeholder on the page, so an owner can show two listings side by side.
Badges added after the page loads
The script watches the page and renders badges that appear later — inside a tab, an accordion, a popup, or content loaded by AJAX. If a site needs to trigger it explicitly, it can call:
js
window.VoxelEmbedReviews.render();The score stays current
The badge fetches live data every time the page loads, so a new review shows up on the owner's site without them touching anything. Scores are cached on your server for five minutes.
Changing a badge after it is embedded
The embed code stores a reference, not a copy. Change the style, title or branding on your side and every live embed picks it up — the owner does not need a new snippet.
Two things are fixed at the moment the code is generated: which listing it points at, and the version of the script. Everything else follows your settings.
The plugin folder has to stay put
The script is served from the plugin's own folder. Renaming the plugin directory, or deactivating and deleting the plugin, breaks every badge already embedded elsewhere. Deactivating alone stops the data endpoint, so badges stop drawing.
What owners can and cannot embed
Only published, publicly visible listings can be embedded. A badge for a draft, private or scheduled listing returns nothing — the endpoint refuses it rather than exposing an unpublished listing to the open web.
If a listing is unpublished after its badge is embedded, the badge stops rendering and leaves the placeholder empty. It starts working again if the listing is republished.

