Customising the Signup Form Text
The coming-soon block ships with sensible default wording — a “LET ME IN” button, an “Enter your email address” prompt, and Days/Hours/Mins/Secs countdown labels. If you want different wording (a different button label, a different language, your own tone), this article shows how.
Current limitation: these strings are hardcoded in the plugin template and JavaScript — there is no settings field or filter for them yet. The clean workaround is a small JavaScript snippet that rewrites the text in the browser. Proper settings/filters are a planned enhancement (see the end of this article).
Table of Contents
Which text is hardcoded
| What | Default | Where |
|---|---|---|
| Submit button | LET ME IN |
template |
| Email field placeholder | Enter your email address |
template |
| Prompt above the form | Enter your email address below for early access. |
template |
| Countdown labels | Days / Hours / Mins / Secs |
template |
| Post-signup message | Click the link in the email we just sent… |
JavaScript |
| Error alerts | An error occurred, please try again. etc. |
JavaScript |
The workaround: a small JavaScript snippet
Because the markup is rendered server-side without filters, the most update-safe way to change the wording is to rewrite it in the browser after the page loads. Add this to your site (via a code-snippets plugin, or enqueued from your child theme — see Styling & Customisation for how to enqueue a script on coming-soon pages):
document.addEventListener('DOMContentLoaded', function () {
// Button label
var btn = document.querySelector('#sscs-signup-form button[type="submit"]');
if (btn) { btn.textContent = 'NOTIFY ME'; }
// Email field placeholder
var email = document.querySelector('#sscs-email');
if (email) { email.setAttribute('placeholder', 'Your best email'); }
// Prompt above the form
var prompt = document.querySelector('#sscs-enter-email');
if (prompt) { prompt.textContent = 'Join the list for early access.'; }
// Countdown labels (Days / Hours / Mins / Secs)
var labels = { days: 'Days', hours: 'Hrs', minutes: 'Min', seconds: 'Sec' };
Object.keys(labels).forEach(function (id) {
var el = document.querySelector('#' + id + ' small');
if (el) { el.textContent = labels[id]; }
});
});
Adjust the strings to taste. Because it targets the plugin’s element IDs
(#sscs-signup-form, #sscs-email, #sscs-enter-email, #days/#hours/#minutes/#seconds),
it keeps working across plugin updates.
Changing the post-signup message
The “Click the link in the email we just sent…” message is written by the plugin’s JavaScript after a successful signup, so a one-shot snippet on page load won’t catch it. The reliable way to change it is to watch for the share buttons appearing (they’re revealed at the same moment) and rewrite the prompt then:
document.addEventListener('DOMContentLoaded', function () {
var shareBox = document.querySelector('#sscs-share-buttons');
if (!shareBox) { return; }
new MutationObserver(function () {
if (shareBox.offsetParent !== null) { // became visible
var prompt = document.querySelector('#sscs-enter-email');
if (prompt) { prompt.textContent = 'Thanks! Check your inbox to confirm.'; }
}
}).observe(shareBox, { attributes: true, attributeFilter: ['style'] });
});
What about CSS?
You can restyle everything (colours, sizes, layout) freely with CSS — see Styling & Customisation. CSS can’t reliably replace text, though, so use the JavaScript approach above for wording changes.
Editing the template directly (not recommended)
The block is rendered from templates/sscs-coming-soon-template.php inside the
plugin. You can edit that file, but the plugin has no template-override
mechanism (no locate_template() / theme override), so your edits live inside the
plugin folder and will be lost on the next update. Prefer the JavaScript
snippet, which survives updates.
Planned enhancement
A sscs_template_path filter (to let themes override the template cleanly) and/or
settings for the button and prompt copy are tracked as enhancements — see the Developer Hooks & Reference guide, “Known limitations”. Once added, the snippet above
won’t be necessary.
- Styling & Customisation — colours, sizes, and how to enqueue a script.
- Translating the Plugin — if your goal is a non-English store.
- Developer Hooks & Reference — the markup contract and the planned filters.