All 18 Help Centre sections

See every section

Colours

Updated Help Centre 1.12.0Tested with WordPress 7.1

The help centre uses a light palette that sits on your theme's own background, and article text is always in your theme's colour. A visitor whose phone or computer is in dark mode sees the same light help centre as everyone else, because their device's setting says nothing about your site's colours. With the Dark Mode plugin, the help centre is re-coloured along with the rest of the page.

If your theme is dark, switch on the dark palette with one line in your theme's functions.php or a code snippets plugin:

add_filter( 'trhc_dark_palette', '__return_true' );

Every colour is a CSS custom property on .trhc (--trhc-accent, --trhc-ink, --trhc-body, --trhc-muted and the rest), so a theme can set its own.

Files on a message#

Settings → Let files be sent with a message, on by default.

A customer can attach up to three files to a message, and so can you when you reply. JPG, PNG, GIF, WEBP and PDF, up to 5 MB each. Pictures are shown in the conversation; anything else is a link with its size beside it.

Anything refused is named. A file that is too large, or is not one of those kinds, does not fail the message — the message is saved and the sender is told which file did not make it and why, so they can send it again rather than wonder whether it arrived.

What is checked. The name a file arrives with proves nothing, so it is not believed: WordPress reads the real bytes to decide what the file is, and an image has to be a real image before it is kept. A PHP script called screenshot.png is refused, and so is an SVG, which is a document that can carry script.

Where they are kept. In wp-content/uploads/trhc-attachments/, not in your media library, so nothing a customer sends turns up in a media picker or on a page. Each file is stored under thirty-two random characters and no extension, so there is nothing for a web server to act on and a link that escapes downloads an unnamed file rather than showing somebody's screenshot. Opening one properly goes through the plugin, which checks the request first: you, or the customer whose request it is, holding the link that was emailed to them.

The folder is written with an .htaccess and a web.config that deny direct access. Apache and IIS honour those; nginx does not read either, and nginx is most WordPress hosting. There, a file is reachable by anyone holding its exact address — the same as every upload in your media library. The address is thirty-two random characters and is only ever shown to people allowed to read the request. If your requests routinely carry sensitive documents and you are on nginx, add a location rule denying that folder, or switch the setting off.

Deleting a request deletes its files from disk. So does a privacy erasure request, because it deletes the requests. A personal data export names the files and their sizes rather than including them, because an export is a file somebody downloads over the web.

Still stuck? Ask the developers who wrote it. We aim to reply within one business day.