New — Sohay now answers WooCommerce product, policy & cart questions. See how →

Branding the widget

The widget deliberately does not inherit your theme. What you can change, and why the isolation is worth keeping.

The chat widget renders inside an isolated container. Your theme’s CSS cannot reach into it, and its CSS cannot leak out into your site.

That is the single most important thing to understand before trying to style it, because it is why the usual approach — write some CSS, target the classes — does not work here.

Why it is isolated

Two problems, both real, both solved by the same decision:

  • Your theme cannot break the chat. A widget that inherits arbitrary theme CSS looks broken on some fraction of sites, and every one of those is a support conversation.
  • The chat cannot break your theme. A widget that ships a CSS reset, or styles button globally, changes your site in ways nobody asked for.

The result is a widget that looks and behaves the same on every theme.

What you can change without code

Sohay → AI Settings carries the settings that shape what visitors see: whether the widget appears at all, and the welcome message that greets them.

What you can change with code

Sohay exposes filters for the widget’s branding and UI. A developer can adjust what the widget presents rather than restyling it from the outside.

Two that are useful beyond branding, for anyone reselling or white-labelling:

  • sohaychat_help_url — overrides the admin header’s Help link.
  • sohaychat_upgrade_url — overrides the Upgrade link.

Both are admin-side, and both exist so the plugin can point at your support rather than ours.

What isolation costs you

Worth knowing, because these surprise people:

  • Translation plugins do not translate the chat’s own wording. Sohay’s labels go through WordPress’s standard translation files instead, and the chatbot replies in whatever language the visitor writes in.
  • Session-replay and heatmap tools record the widget as a blank area.
  • Accessibility overlays cannot restyle it.

Screen readers and keyboard navigation are unaffected. Assistive technology reads the accessibility tree, which the isolation does not hide. This is the distinction that matters: the widget is invisible to scripts scraping the page, not to people using it.

Why other plugins can’t see inside the chat covers all of this properly.

The Knowledge Base pages are different

None of this applies to your public Knowledge Base pages. Those are ordinary theme territory — they inherit your fonts and colours by design, and you can restyle or replace them freely. See Restyling the Knowledge Base pages.

Where to go next

Why other plugins can’t see inside the chat, if something you expected to reach the widget cannot.

Mithun B.
Mithun B.

More articles by Mithun B..

View all posts

Give your website an assistant that answers from your content

Grounded answers, a team inbox, and store-aware tools — free on WordPress.org.

Add Sohay — Free

Free plugin · You bring your OpenAI key · Works with any theme