Help Centre changelog
Every version, newest first, with the date it was released. Updates install from your Plugins screen.
1.12.0
- New Ask about this product. Under Settings, Support Desk, add an "Ask about this product" link under the add to cart button of every product. It opens the form on your Requests page with the product chosen and "About:" and its name as the subject, and your team sees the product on the request and in the email about it. Off until you switch it on.
- New Links that open the request form filled in. Add
topic=andsubject=to the form page's address, or the same attributes to[trasl_support_form], to open it on the right topic with the subject typed.product_id=andorder_id=name a product, or one of the signed-in customer's own orders. Nothing about the customer is read from an address, and they can change everything before sending. - Fixed A customer who replied just as their request resolved itself was told nobody had heard back. Help Centre now checks again, at the moment it resolves or reminds, that nobody has written since your reply. A reply that arrives while it is working keeps the request open, and no "Still need help?" or Resolved email goes to that customer.
1.11.0
- New Requests waiting on the customer can resolve themselves. Under Settings, Support Desk, choose to resolve a request after 3, 5, 7, 14 or 30 days without a reply, counted from your last reply. The customer gets the Resolved email saying why, with the link that reopens it and "How did we do?", and can be reminded 1, 2 or 3 days before. Urgent requests are left alone, and requests already more than a week past their date are resolved without an email. A line on the request says what happened, the queue shows them as Resolved automatically, and the dashboard counts them. Off until you choose a number; the dashboard offers it once requests have waited on customers for more than 7 days.
- Improved Lighter admin screens. WordPress's Media Library now loads only on a request's own screen, where the reply box uses it. The Dashboard, Requests, Saved replies, Settings and the article and FAQ screens no longer carry its scripts, about 55 KB of templates or the query listing the months that have uploads.
- Improved Faster pages on sites in Spanish or French. The translations now also ship as PHP files, which WordPress 6.5 and later reads from PHP's code cache instead of reading the translation file again on every page. Measured on a French site with all fifteen of our plugins: 6.3 ms and 0.8 MB of memory less on every request. Older WordPress reads the translations as before.
- Improved Opening the plugin's screens asks less of your server. To make switching tabs instant, the plugin loads its other screens in the background while you read the first one. It now loads at most four, the plugin's own tabs first, and none while the browser tab is in the background; a tab past the fourth loads as your pointer reaches it.
- Fixed Messages sent without a file no longer say a file was not attached. Since files could be sent with a message, every request and every reply sent without one told the customer "Your message was sent, but was not attached.", and an agent's reply sent without one said the same instead of "Reply sent." A file field left empty is no longer counted as a refused file. A file that really is refused, because it is too big, only partly sent or not an allowed kind, is still named.
- Fixed No "deprecated" notice from Cloudflare's plugin when you save. With WP_DEBUG on and a current version of Cloudflare's plugin, emptying its cache printed a deprecation notice, which could stop a save from returning to its screen. Cloudflare is now asked under its current name, and the old one only on older copies.
- Fixed Notes that should be hidden stay hidden. A hint or note a screen had hidden could still show, because the style that lays hints out outranked the browser's own rule for hidden things. Hidden things on the plugin's screens now always stay hidden.
1.10.2
- Fixed A customer's message can no longer pass itself off as part of the request's screen. A message could carry markup that wp-admin showed as a red or green notice in the corner, with a link of the sender's, or that took over the Saved replies buttons. Messages now keep paragraphs, line breaks, bold, italic, lists, links, code and quotes and nothing else, including messages you already have.
- Fixed Saved replies and the reply box work however you open a request. Opened from the Requests list or the Dashboard, or after saving its sidebar, a request's Saved replies buttons did nothing and its Visual editor never started, so what you typed could not be seen. A request now always opens as a full page.
- Fixed Export Personal Data never shows a subject, name or rating comment as a link. One that was nothing but a web address still became a working link on the export's page.
- Fixed A search made with Enter is ranked and listed as typed. A search with a quote in it, such as "Can't log in", missed articles that say "can't" and was listed on the Dashboard a second time with backslashes. The two rows are now one.
- Fixed Page caches are emptied only as far as a change needs. With LiteSpeed Cache, changing the help centre's look or who may read it, and publishing its first article or unpublishing its last, pressed its Purge All, which also deletes its combined CSS and JS files, empties the object cache and PHP's code cache, clears Cloudflare where LiteSpeed is set to, and leaves "Purged all caches successfully." on your next screen. It now empties LiteSpeed's cached pages only. On a network, WP Super Cache is emptied for this site alone, where it emptied every site's (except a save on the main site of a network in subfolders, whose cached pages hold the other sites', and WP Super Cache's legacy copies, which it always clears for every site).
Earlier versions
September 2026 44 versions
1.10.1
- Fixed A reader's note keeps its backslashes, and a "<" such as the one in "kids <10". C:\Program Files was kept as C:Program Files, and a note lost everything after a "<". Notes already kept stay as they were.
- Fixed A support request keeps a coupon code in its subject, and the Requests screen's search finds it. A subject quoting 30%BFRIDAY was kept as 30RIDAY. The subject, the words drawn back into the form after a failed send, and the search now keep a % and a "<" as typed; an address pasted with %2B for its + comes back as typed.
- Fixed Unanswered searches on the Dashboard are listed as they were typed (until 1.10.2, a search made with Enter kept a backslash before each quote).
- Fixed Tools → Export Personal Data shows a request's subject, name and rating comment as words, so a subject typed as a link no longer becomes one there (until 1.10.2, one that was nothing but a web address still did).
- Fixed A saved reply that shows a tag as text, such as "<code>", drops into the reply box as that text.
1.10.0
- New After a No, ask what was missing. A reader who answers No under an article is asked "What were you looking for?". Notes are kept on the article's edit screen, up to 20 per article, and the Dashboard's Unhelpful articles shows the newest one. Nothing about who wrote a note is kept, and a note with an email address, a web address or a long number is not kept at all. On for new installs; existing help centres can switch it on under Settings → Article Page, or accept the Dashboard's offer.
- Fixed [trasl_help_centre] inside an FAQ answer now shows nothing there, instead of drawing a second help centre inside the answer and its FAQ structured data.
- Improved Help centre pages ask your membership plugin about each article and FAQ once per page view. With Paid Memberships Pro restricting none of them, a list of FAQs no longer costs a database query per FAQ.
1.9.1
- Fixed Resolving requests in bulk emails only the customers Apply asked you about. If customer emails were switched on after you opened the queue, or a customer reopened a ticked request meanwhile, Apply sent Resolved emails nobody had agreed to. It now changes nothing, says so, and the queue asks again. Saving one request as Resolved no longer emails the customer when its screen said it would not.
- Fixed Members-only and password-protected articles keep their words to themselves. A password-protected article no longer shows its opening words on its topic page, and the help search no longer shows the text of an article MemberPress, Paid Memberships Pro, WooCommerce Memberships, Restrict Content Pro, Members, s2Member, Groups or Ultimate Member keeps for members. Such an article is found by its title and keywords, so give it keywords.
- Changed A members-only or password-protected article or FAQ shows no summary outside its own page, for members too. Its topic card is just the link and its excerpt is empty, because a page cache would pass what a member saw to the next visitor. Such an FAQ is no longer listed or in the FAQ structured data, since an FAQ has no page of its own where access could be checked.
- Changed On a network whose sites share one address, each site's votes are its own. A vote on one site's article no longer shows another site's article as already voted on. Readers of sites other than the main one may be asked once more.
- Fixed An FAQ answer that lists itself no longer takes the page down. [trasl_faq] for the answer's own group inside an FAQ answer drew itself until PHP ran out of memory; it now shows nothing there, with a note for people who can write articles. [trasl_help_centre] inside an answer no longer ran out of memory, but was still drawn there until 1.10.0.
- Fixed Excerpts and cards are clean. Article excerpts no longer carry the breadcrumb and the vote, content a page builder draws inside an article no longer gets a second breadcrumb, contents list or vote, and topic pages, search results and the reading time no longer show shortcodes or video addresses as words.
1.9.0
- New Act on many requests at once, and priorities that matter. Tick several requests to resolve, close, assign, reprioritise or delete them at once. Requests marked High or Urgent carry a label in the queue and have a tab of their own, and once a request is marked Urgent, your team's emails about it say so in the subject.
- Fixed A request sent through the help form starts at Normal. A bot can no longer mark its own requests Urgent.
1.8.1
- Fixed Rated good is never rounded to 100% or 0% when it is not. The Dashboard card no longer shows 100% while a Not good rating is listed beside it, or 0% when a customer said Good.
- Fixed Translated topics are named in every language. With help centre topics translated in WPML or Polylang, the Requests screen names each request's topic whatever language wp-admin is showing, where a request in another language showed no topic, and the Topic filter lists every language's topics, adding the language code, such as FAQ (ES), where two share a name.
- Fixed French counts zero in the singular. French writes "0 message", not "0 messages", and the plugin's French now counts the way WordPress's own French does.
1.8.0
- New Customers can tell you how you did. When a request is resolved, the Resolved email and the request page ask "How did we do?", and the customer answers Good or Not good, with a comment if they like. Your dashboard shows the share rated good over the last 30 days and lists the latest requests rated not good, and each request's screen shows its rating. It is on for new installs; on a desk you already have, switch on Ask customers to rate resolved requests under Settings → Support Desk.
- Changed The "Assigned to you" email is written in your colleague's own language. It now goes out in the language your colleague chose in their profile, rather than always in your site's language. Colleagues who left their profile at the site default still get it in your site's language.
- Fixed A visitor is counted once when the server writes their address two ways. Some servers write a visitor's IPv4 address the IPv6 way, as ::ffff:203.0.113.7, and it is now read as 203.0.113.7 however it is written. On such a server behind Cloudflare or a proxy of your own, every visitor was taken for the proxy, so they all shared one limit on searches, votes, views and new requests, and Unanswered searches on the Dashboard counted them all as one person; each visitor now counts on their own. On such a server, counts already running start again from zero, once, so a visitor who voted on an article in the day before the update can vote on it once more.
1.7.0
- New Requests show the topic the customer chose, and the queue filters by it. The topic picked under "What is it about?" now appears under each request's subject in the queue and at the top of the request's own sidebar. Choose a topic beside the search box and press Filter to list only its requests, those under its sub-topics included, with the counts on the tabs following suit.
- New New requests can go straight to the right person. Under Settings → Support Desk → Automatic assignment, choose who answers each topic, and new requests under it are assigned to that person as they arrive. A sub-topic left at Same as parent topic goes to whoever answers the topic above it, and while Email me when a request arrives is on, the new-request email reaches that person as well.
- Changed Handing a request to a colleague now emails them. Change Assigned to on a request to somebody else and they get an "Assigned to you" email with a link to it and the customer's first message, and the notice after Save names who was emailed. It is sent while Email me when a request arrives is on, as it is unless you switched it off, and assigning a request to yourself sends nothing.
- Fixed Saving a request no longer takes it away from the person it was assigned to. When that person could no longer answer requests they were missing from the Assigned to list, so saving the request for any other reason, such as a new status, quietly left it unassigned. They now stay on the list, marked "(cannot answer requests)".
1.6.23
- Fixed [trasl_faq limit="all"] and limit="0" show every question. Both showed only the first five. The documentation now explains limit and open.
- Fixed A second support request form on the same page works like the first. With two forms on one page, such as [trasl_support_form] in a footer, the labels in the second belonged to the first form's fields: clicking one moved to the first form, and a screen reader could not tell what the second form's fields were for. The second form also showed no suggested articles as the customer typed a subject. Each form now has its own labels and its own suggestions.
- Fixed With several of our plugins on one site, licensing and updates for all of them run on the newest licence code any of them carries. The order WordPress loads them in no longer decides it, with one exception: while the first of our plugins that WordPress loads, usually the alphabetically first, is on a release from before this one, its older code still serves them all until that plugin is updated. An older plugin of ours can also no longer stop this plugin's admin screens loading.
1.6.22
- Fixed A file that could not be recorded is refused rather than quietly lost. If the row that makes an attachment reachable could not be written, the customer was told the file was attached, the agent opened a request with no file, and the file itself sat in the uploads folder under a name nothing could reach. Such a file is now listed as not accepted and taken back off the server.
- Fixed A customer replying to one of your support emails now reaches you. The emails carried no reply address, so an answer went to the wordpress@ mailbox WordPress sends from, which usually does not exist, and it bounced or was dropped while the customer believed they had replied. Replies now go to your support address, or to the site's administration address if you have not set one. Replying by email still does not reopen the request; the link in the message does that.
- Fixed The counters kept for each visitor are no longer named after their IP address. Searches, article views, votes, the once-a-day vote lock and the list of missed searches were each stored under a plain hash of the visitor's address, which anybody with a copy of the database could turn back into the address itself. They are now named with the site's own keys.
- Fixed The Settings screen says when the attachments table is missing. Files sent with a message were refused, the customer was told so, and nothing anywhere told you why. A note now appears above the attachments switch while it is on, saying the table is missing and to switch the plugin off and on again to create it.
- Fixed The search box on the Requests screen filters the queue. Typing a reference, a subject or an email address and pressing Search left the queue unfiltered and the box empty, with nothing to say why. The queue now narrows to what you typed (until 1.10.1 a % followed by two characters 0 to 9 or A to F, as in 30%BFRIDAY, was dropped from the search), your words stay in the box, and they go into the address as well, so a filtered queue can be bookmarked or sent to somebody.
- Fixed A failed activation no longer wipes the licence key you had typed. When the licence server could not be reached, or sent back something we could not read, the screen threw away the key and the list of sites using it, and asked you to go and find the key again. It hit hardest where it mattered most: freeing a site on a full licence and pressing Activate. What is stored now stands until the licence server itself says otherwise.
- Fixed A key the licence server does not recognise leaves the key box open. When a key is reissued, or deleted while a site still holds it, the box was greyed out and the only button on offer was "Deactivate this site", on the very screen the notice had just sent you to with "enter it again". You can now paste the right key straight in.
- Fixed "Check again", "Deactivate this site" and "Free" work with the key box empty. None of the three reads what is in the box, but all three answered "Enter your licence key first." and sent nothing to the licence server.
- New A "Check again" button on the licence screen. Renew your licence, or have it put right, and one press picks it up instead of waiting hours for the next automatic check. If the check cannot be made, the screen says why and nothing here is changed.
1.6.21
- Fixed The Requests inbox could say nothing needed a reply while requests were waiting. Closing the last request on a page brought you back to that page number, which no longer existed, so the screen came back empty and said the queue was clear while the earlier pages were still full. The last page that exists is shown instead.
- Fixed A topic's RSS feed carried the summary card instead of the article. Anybody reading a topic's feed was sent the short card that belongs on the topic page, and the article itself never arrived. An article's own comment feed was given the contents list, the "Was this helpful?" panel and the related articles as well. Feeds now carry what was written.
- Fixed Deleting the plugin left two published pages showing "[trasl_help_centre]". The Help centre and Contact support pages it publishes when you switch it on stayed behind when the plugin was deleted with "Delete all data on uninstall" ticked, and with the plugin gone nothing turns a shortcode into a page, so visitors and search engines were shown the shortcode itself. A page still holding nothing but the shortcode now goes to the bin with everything else, so you can restore it if you wanted the address, while a page you have written anything on is left exactly where it is. The switch's own description says the pages go too.
- Fixed Network activation sets up only the sites of the network you switched it on for. On an installation running more than one network, it also created its tables, wrote its settings and published its two pages on the other network's sites.
- Fixed Deleting the plugin clears away tables left behind by deleted sites. On a network, a site deleted while this plugin was switched on for that site alone left its support requests, their replies and their attachment records behind in the database, with nothing left to say those tables had ever been ours. Deleting the plugin now finds such leftovers and removes them.
- Fixed "Check again" on the Updates screen looks for a new version straight away. Just after the site had had trouble reaching us, pressing it did nothing for up to a quarter of an hour, for this plugin and for the rest of ours.
1.6.20
- Fixed A help centre for signed-in people stays closed. Visitors could still read its articles by changing the capital letters in the REST API address.
- Fixed Files on a private note stay private. The customer on that request could download them, and their personal data export listed the files' names.
- Fixed Only administrators can import or export Help Centre settings. Support agents such as shop managers can still answer requests.
- Fixed Importing settings that change the help centre's address updates the site's links, so help centre pages no longer show "page not found".
- Fixed Deleting the plugin with "remove all data" removes everything. Topics, keywords, FAQ groups, saved replies, binned articles and the attachments folder are now removed too.
- Fixed Search-as-you-type and suggested articles work with plain permalinks.
- Fixed "On this page" links go to the right heading in an article with two headings of the same name.
- Improved The dashboard opens faster on large support desks. The average first-reply time is no longer worked out again on every visit.
1.6.19
- Improved Fewer database queries on every admin page. Each of our plugins checks its licence on every admin screen, to know whether to show the licence notice, and read its saved licence and its "Remind me later" flag with a query each. With the whole range installed that was thirty separate lookups on every admin page, most of them for rows that do not exist yet. They are now read together in one query (on WordPress 6.4 or later). Measured on a test site with all fifteen plugins: the WordPress Dashboard went from 41 queries of ours to 12.
1.6.18
- Improved A download is made once, not twice. Pressing Export settings built the file twice: the admin's no-reload navigation fetched it first, found a file rather than a screen it could show, and then asked for it again the ordinary way. On a long list that was twice the wait, and twice the work for the server. Each download is now a single request. Measured in a browser: two requests per click before, one after.
1.6.17
- Improved Pages with the help centre download less. The script and stylesheet visitors are sent are now minified: 11.8 KB became 6.5 KB compressed, 45% less, on every page that shows the help centre. The readable files stay in the plugin, and a minified copy is only ever sent while it was built from the file as it is now, so an update can never be hidden behind an old copy. With SCRIPT_DEBUG on, the readable files are sent, as WordPress does for its own. Checked by photographing the same pages both ways at two screen sizes: identical, pixel for pixel.
1.6.16
- New A help centre for signed-in people only. Settings → Help Centre → Who can read it. With Signed-in people only, the articles, the topic pages, the front page and the search are kept for people with an account on your site; a visitor is sent to the sign-in page and brought back afterwards. Every door is closed, not just the front one: your theme's own search and the editor's site-wide search stop listing articles, the REST API refuses the article and topic lists, the sitemap leaves them out, and a pasted link no longer shows a preview card. The support desk and the FAQ shortcode are unchanged. Checked as a visitor and as a member on a demo, door by door.
1.6.15
- New Six looks for the help centre front page. Under Settings → Front page: Cards (the page as it was), Tiles, List, Minimal, Spotlight and Boxed. A look is a shape rather than a palette, so every one is drawn in your theme's type and the same colours, and trying another never repaints anything. Each was photographed on a desktop and a phone before it was listed. A site that never chooses keeps exactly the page it had.
1.6.14
- Improved One update check for all of our plugins on a site, instead of one each. Every plugin of ours used to ask our server about updates separately — fifteen requests in a row on a site with the whole range, twice a day and every time you press "Check again". The first plugin asked now asks for all of them at once, and the rest read the answer. Measured on a site with all fifteen: fifteen requests became one, and the whole check took a third of a second. If our server refuses or cannot be reached, every plugin waits the same fifteen minutes before trying again, rather than each trying in turn.
1.6.13
- Fixed Help centre surfaces written so dark mode can re-colour them. Measured on the dark engine our Dark Mode ships — the same one a reader's own dark-mode browser extension uses: a colour handed in on the element and painted through the
backgroundshorthand is left light, or lost altogether, while the words on it are lightened to suit a dark page. The cards, the search box and its results, the FAQ and the support form are now written asbackground-color, which the engine follows. Found by a new check that reads every widget we put on a page the way a screen reader and a keyboard do.
1.6.12
- Fixed A wp-admin that would not load when our licence server could not be reached. Each of our plugins checked for its own updates, and if the server was unreachable each one waited out its own fifteen-second timeout — so a site with several of them could spend minutes on a single admin page, twice a day, for something entirely outside its control. The first one to find the server unreachable now says so for the whole site, and the others stand down until it is worth trying again. Measured on a site with fifteen installed: fifteen waits became one.
1.6.11
- Fixed The very first reader of a brand-new article could still be missed. Yesterday's fix counted correctly from the second view onwards; the moment an article had no count at all, several readers arriving together could race to create it and one would be dropped. Measured across five runs from a fresh article: forty reads, forty counted, every time.
1.6.10
- Fixed Article views and votes were being lost whenever two people arrived at once. The count was read, added to, and written back — so two readers who arrived in the same moment both wrote the same number and one of them vanished. Measured on a test site: forty reads counted as twenty-seven. The busiest articles lost the most, which is exactly the wrong way round, and "Most read" was ordered by a number that was quietly wrong. The database now does the adding, and forty reads count as forty.
1.6.9
- Improved One less trip to the database on every page of your site. A note the plugin keeps to remind itself to rebuild your help centre's links was being looked for on every page a visitor opens — and because the note is normally not there, looking for it cost a separate query every time, for something that happens perhaps twice in a site's life. It is now kept with everything else WordPress already collects, so the check costs nothing.
1.6.8
- New WordPress now calls an article an article. Publishing a help article said "Post published." — on a screen that calls it an Article everywhere else. Articles and questions now say what they are when you save, schedule, draft or bin them, one or twenty at a time, in all three languages.
- Fixed Ten of those sentences would have shipped in English. The tool that collects translatable text skips a plural sentence whose count comes from a certain kind of expression, and says nothing about it — so the strings were missing from the translation template, missing from Spanish and French, and every check reported the plugin complete. Found and closed with a new check that compares the source against the template.
1.6.7
- Fixed A setting that is waiting on another one is readable again. A field held back until you switch something else on is dimmed, so it does not look identical to one you simply have not used — but it was dimmed so far that its label and explanation fell below the contrast a person with ordinary eyesight needs. Measured on the rendered screen at 2.55:1 against the 4.5:1 minimum, and now 4.75:1 and 5.02:1. The greying, the sunken background and the blocked cursor carry the rest of the signal.
1.6.6
- Fixed The Requests screen no longer reads the whole table to show one page. It sorts newest first, and although the table had two or three indexes, none of them began with the column being sorted on — so the database read every row and sorted the lot to hand back twenty-five. Measured: a desk with 150,000 requests took 171ms to draw its first page and now takes under a millisecond. Nothing changes on a small site; the index is added automatically the first time the plugin loads after updating.
1.6.5
- Fixed A site deleted from a network no longer leaves its tables behind. WordPress asks every plugin for the tables it owns when a site is removed, and this one never answered, so its requests and their attachments stayed in the database for ever with nothing left to say which site it had belonged to. On a network that creates and removes sites regularly that is thousands of orphan tables and a database that stops fitting in its backup window. Deleting a site now takes its requests and their attachments with it.
1.6.4
- Fixed A helpful vote could be cast on an article nobody can read. The vote only checked that the thing being voted on was an article, not that it was published — so votes could accumulate on a draft or something in the trash and then appear the day it went live. It checks the status now, like the view counter beside it always did.
1.6.3
- Improved The help text under each setting can be read at a glance. A settings screen is scanned, not read, and several notes here had grown into paragraphs. They say the same thing in a line or two, in Spanish and French as well as English.
1.6.2
- Improved The Import / Export panel says plainly what the file carries. It is settings only: nothing you have written or collected, and never a password, an API key or your licence key.
1.6.1
- Fixed The Export and Import buttons had no icons. Both asked for a mark the plugin did not carry, so both drew nothing at all under a heading that had one.
1.6.0
- New The Licence screen now shows which sites are using your key. "You have used all your activations" used to leave you to work out which sites those were, in your account, on another tab. Every site on the licence is listed now — the date it was added, when it last checked in, and a Free button beside it — so you can let go of a site you no longer run and put this one on without leaving the page. "Last seen" is the column that decides it: a copy that stopped checking in months ago is the one to free. The list appears on a refused activation too, directly under the key you just typed, with the same buttons. Local and staging copies are listed as well, marked free, so the count adds up.
- Improved Updates follow the activation, not just the key. Freeing a site now really does free it: that site is still told when a new version exists, but it is not handed the download, and its own Licence screen says plainly that it is no longer on the licence and offers to activate again.
- Fixed Two things on the Licence screen were never translated — the screen's own heading, and the "2 of 3" activation count. Both read in your language now.
1.5.0
- New Files on a message. "Could you send me a screenshot?" is the first reply most support desks send, and every one of them costs a round trip and leaves the thread incomplete. Customers can now attach up to three files to a message, and so can you when you reply: JPG, PNG, GIF, WEBP or PDF, 5 MB each. Pictures show in the conversation. A file that is refused is named, with the reason, rather than dropped in silence — the message itself is always saved. (Until 1.11.0, a message sent without any file was also told a file had not been attached.) The name a file arrives with is not believed: WordPress reads the real bytes, an image has to be a real image, and an SVG is refused because it is a document that can carry script. Files are kept out of your media library, under thirty-two random characters with no extension, and are served only after the plugin has checked that the person asking may read that request. Deleting a request, or a privacy erasure, deletes them from disk. Settings → Let files be sent with a message, on by default.
1.4.0
- New Move your settings to another site. Settings → Import / Export writes a small
.jsonfile with the address, what the help centre shows, the search behaviour, the emails and the wording in it, and reads one back on your next site — so a help centre set up on staging does not have to be set up again from a screenshot. Settings only: no articles, no FAQs, no requests, no saved replies and no licence key. The pages holding[trasl_help_centre]and[trasl_my_tickets]are named by number, which means something else on another site, so those two are left as they were and you choose them again; a file re-imported into the site that made it keeps everything. An imported value goes through the same checks as a typed one, so a hand-edited file cannot put anything into your settings that a screen would have refused.
1.3.0
- New Saved replies. A desk answers the same dozen questions over and over, and typing them out again each time is slower, less consistent and worst at the end of a long day. Write each answer once under Help Centre → Saved replies and it becomes a button above the reply box: one click drops it in at your cursor, so half a reply you have already typed survives.
{customer},{reference},{subject},{agent}and{site}are filled in from the request as it arrives — and one with nothing to fill it is removed along with the space in front of it, so a reply never goes out saying "Hi {customer}," or "Hi ,". Works on both tabs of the editor (until 1.10.2, only on a request opened as a page).
1.2.33
- Improved Plainer words on every screen, after somebody who runs a shop and has never written code read the whole plugin and said what they could not follow.
- Fixed Resolved and Closed looked like the same thing. The Status field now says which one emails the customer, which one lets them reply, and which one ends the conversation.
- Fixed The support desk switch said nothing about what switching it off takes away. It does now.
1.2.32
- Fixed Tabbing onto a "Remove" or "Undo" link showed the wrong ring, or none. Those quiet link-shaped buttons in a table row are WordPress's own kind, and WordPress rings them in its blue with a rule stronger than the one this plugin writes — strong enough that it also cancelled the ring the plugin draws. Somebody working down a screen with the keyboard either saw a colour that belongs to no part of this plugin, or lost sight of where they were altogether. They now wear the same ring as every other control here.
1.2.31
- Fixed The help centre turned dark on light websites whenever a visitor's phone or computer was in dark mode, leaving the form's labels and article text almost invisible on a white page. It now keeps its light colours on a light site, article text is always in your theme's own colour, and a dark theme can switch on the dark palette with one line of code.
- Fixed A guest who replied to their request could be shown an old copy of the conversation without their reply, when a page cache had stored it. The conversation and the page with the form are now never stored by page caches.
- Fixed Help articles could not be stored by page caches, because counting a view set a cookie on every first visit, and where a cache did store an article its views stopped being counted. Views are now counted by the page after it loads, with no cookie, and search engines and your own editors are not counted.
- Fixed Search is now usable with a screen reader and the keyboard. The number of answers is read out, the arrow keys move through them, "Nothing matched" is announced and links to the form, and the list closes when you move on instead of covering the page. Every search box on a page now works.
- Fixed A search box placed on its own with
[trasl_help_search], in a header or a sidebar, showed its list of answers see-through over the page under it. It now has the help centre's own colours. - Fixed "Was this helpful?" could be voted again after a reload. Each browser now votes once per article, and each internet address once a day. After voting, a screen reader hears the thanks and keeps its place. (On a network whose sites share one address, until 1.9.1 a vote on one site's article also counted for another site's article with the same number.)
- Fixed Articles showed two tables of contents when our Table of Contents plugin, Easy Table of Contents, Rank Math or Yoast added one too. Help Centre now leaves its own out when another is already there.
- Fixed The request list stopped at page 12, so older requests could only be found by searching. It now has Previous and Next and links to the last page.
- Fixed The FAQ structured data setting promised that questions would appear in search results. Google stopped showing FAQ results in May 2026, so it now says what the data does.
- Fixed On right-to-left sites, the page with the request form could be scrolled a long way sideways into empty space.
- Improved A new help centre with nothing in it shows visitors the way to contact you instead of a search that finds nothing, and tells editors how to start. The dashboard also says when articles have no topic, since those are not listed on the front page.
- Improved The request screen's search box, queue tabs and reply box are labelled for screen readers, and the tab you are on is announced.
- Improved Form fields on the help centre have an outline that meets WCAG AA contrast, also when the Dark Mode plugin re-colours the page.
- Improved Admin screens are easier to read: faint help text and switched-off toggles now meet WCAG AA contrast.
- Improved Your own text above the request form can now be translated with WPML or Polylang.
- New Unanswered searches on the dashboard: what customers searched for and did not find in the last 30 days, with a link to write each missing article. Only the words are kept.
- New WooCommerce orders on requests. A signed-in customer can say which order their question is about, and you see it beside the conversation with their five latest orders.
- Improved Checkboxes show a clear focus ring when you reach them with the keyboard, and the tick in a ticked box draws correctly on phones.
1.2.30
- Fixed The text above the request form could be stuck in the wrong language. If an earlier version saved the default sentence in French or Spanish, because the person who pressed Save used that language, customers kept seeing it and the settings screen showed it as your own text. The default is now recognised in every language Help Centre comes in, so it follows your site's language again. Text you wrote yourself is kept as it is.
1.2.29
- Fixed A signed-in customer could read and reply to a guest's requests by changing their account email to the guest's address, which WooCommerce accepts without confirming it. The requests page now lists only what an account sent while signed in. A request sent as a guest stays behind the private link emailed to that person.
- Fixed The request form could be used to send hundreds of emails to anyone, each receipt coming from your own site. Each visitor can now open five requests in ten minutes, and each email address five in an hour. People who answer requests are never limited.
- Fixed A customer who had written before could not write again. The Contact support page showed their earlier requests and no form. The form is now underneath the list, and a closed conversation links straight to it.
- Fixed A failed send no longer throws away what the customer typed. A missing topic, or a page left open until it expired, brings the form back with the reason above it and their words still in it (until 1.10.1 a % followed by two characters 0 to 9 or A to F, and a "<", could be lost). An expired page used to reload a blank form with no message at all, and a guest who had given their name got a "page not found" error instead of the form.
- Fixed With "Require a topic" on and no topic yet holding a published article, no request could be sent at all. A topic is now required only while there is one to choose.
- Fixed Search and "Was this helpful?" stopped working on cached pages once the cached copy was about a day old: every search found nothing and every vote was thrown away. They no longer depend on anything stored in the page.
- Fixed Pressing Enter in the help search reloaded the help centre with the box empty. It now opens your theme's search page with the same answers the dropdown offered, best first.
- Fixed A password-protected article's opening lines could show as the preview in the search dropdown. Protected articles are now left out of search.
- Fixed "3 hours ago" times were out by your site's difference from UTC: on requests, replies, the dashboard and "Updated" under articles.
- Fixed "Needs a reply" and the dashboard's "Awaiting reply" counted requests you had already answered. Once you reply, a request now leaves the queue until the customer answers, and the dashboard lists the longest-waiting first.
- Fixed The All tab on Requests opened "Needs a reply" instead of every request.
- Fixed Emails to customers went out in the language of the agent's own profile rather than the site's. The text above the request form was also saved in the admin's language the first time any setting was saved. It now stays empty unless you write your own, and the default follows your site's language again, including on shops where the English default had already been saved.
- Fixed Visitors saw "Show frequently asked questions" and "Show related articles" as headings, borrowed from the settings toggles. They read "Frequently asked questions" and "Related articles" again.
- Fixed An FAQ placed inside an article showed a breadcrumb, "Was this helpful?" and related articles under every answer, and share buttons from other plugins could appear under every answer too. Answers are now formatted like a post without those extras.
- Fixed With sub-topics, the front page showed a parent topic as "0 articles" above a list of articles, then the same articles again on each sub-topic's card. It now shows one card per top-level topic, counting its sub-topics' articles.
- Fixed Saving a request's status or assignee said "Settings saved." and now says "Request updated." Sending an empty reply or note no longer claims it was sent or saved.
- Fixed The "Resolved" email told customers to reply to it, but an emailed reply never reaches the conversation. It now tells them to add a reply on the linked page, where any reply reopens the request.
- Fixed Activating the plugin from an older WP-CLI or a site-management tool could stop with a fatal error.
- New Delete a request from its own screen. A person's requests are now part of Tools → Export Personal Data and Erase Personal Data.
- New Notification emails include the message. Your reply is in the email the customer gets, and what the customer wrote is in the one the desk gets. The receipt to the customer still does not repeat their message, so the form cannot be used to send someone else's words.
- New Shop managers can answer requests, and any other role can be allowed to with the
trhc_manage_requestscapability. Settings stay with administrators. A new Assigned to me tab on Requests lists what is yours and needs a reply.
1.2.28
- Fixed Behind Cloudflare, or a proxy on the server such as nginx in front of Apache, every visitor looked like the same visitor, so the limits on searching and on "Was this helpful?" votes were shared by everyone reading the help centre at once. The limits now count each real visitor. The "real visitor" headers are believed only when the request truly came through Cloudflare or the site's own proxy, so nobody can fake their way past a limit by sending them.
1.2.27
- Improved When more than one Traslatability plugin is waiting for its licence key, the admin shows one notice naming them all, each name linking to its own licence screen, instead of a separate notice per plugin at the top of every admin page. "Remind me later" quietens all of them for a week. An expired or revoked licence still gets a notice of its own.
- Fixed "Delete all data on uninstall" now also removes the licence key and the update records, which were left behind in the database.
1.2.26
- Improved "Email me when a request arrives" and its address are greyed while the support desk is off, since no request can arrive. The customer email stays live: you can still reply to an existing request.
- Improved A setting can now depend on another field simply being filled in — a date typed, a picture chosen — rather than only on it holding one particular value. Several screens in the range needed exactly that and had no way to say it.
1.2.25
- Improved Values arriving from the browser are now unslashed before use, the way WordPress expects. WordPress adds a backslash in front of every quote and apostrophe in a submitted value, and it is up to each plugin to take them off again. In most places here that changed nothing you could see, because the value was being cleaned in a way that discarded them anyway — but it is what WordPress's own plugin checker looks for, and it removes a whole class of quoting bug before it has a chance to appear.
1.2.24
- Improved Settings that depend on two answers at once now stay greyed out until both are met. Where one greyed group sits inside another, the inner one used to switch its own fields back on whenever its own condition was satisfied, whatever the group around it had decided. No screen in this plugin is arranged that way today; the safeguard is in place before one is.
August 2026 32 versions
1.2.23
- Improved Articles, FAQs, Topics, Keywords and FAQ Groups now use WordPress's own label set: "Add New Article" rather than "Add an article", "Edit FAQ", "Search Topics", "No articles found." and the rest. A custom post type that words these differently from every other one is the tell that it was not written by somebody who uses WordPress.
1.2.22
- Improved Every screen has been reworded to WordPress conventions. Toggles now say what turning them on does — "Show a search box", "Enable the support desk", "Allow requests without an account" — and the settings screen reads "URL slug" and "Requests page" rather than "Address" and "The page holding your requests shortcode". Nothing about how the help centre works has changed.
- Improved Spanish and French translations updated to match.
1.2.21
- Fixed In the section bar's two-row layout, the first section now lines up with the plugin icon above it, and the sections fill the height of their row instead of sitting against the top edge.
1.2.20
- Fixed The section bar no longer breaks onto a second line when a plugin has several sections. It is two tiers by default — the plugin name and the Documentation button on top, the sections on a full-width row beneath — and collapses to one row where everything fits.
1.2.19
- Improved Field labels are shorter and every save button reads "Save changes", matching WordPress itself.
1.2.18
- Improved Every screen has been reworded to WordPress conventions. Section names, field labels and help text are shorter and say plainly what they do, and a save now answers "Settings saved." rather than describing what was saved. Nothing about how the plugin works has changed.
1.2.17
- Fixed The changelog inside the plugin listed only a handful of the releases there have been. It is generated from the same source as the one on the website now, so "View details" on the Plugins screen shows every release rather than stopping months ago.
- Improved Every changelog entry says what kind of change it is: new, improved, fixed or removed.
1.2.16
- Fixed A stylesheet a screen sends deliberately switched off is no longer switched on when you move between tabs.
1.2.15
- Fixed The floating Save button comes back after changing tabs. It appeared on a freshly opened screen and never again once you moved between tabs.
1.2.14
- Fixed A site that cannot reach the update server now waits a few minutes before asking again, instead of asking on every admin page load. Nothing changes when the server is reachable; pressing "Check again" still asks at once.
1.2.13
- Improved Saving now says what was saved. Every screen answered with the same word — “Saved.” — which tells you the one thing you already knew, that you pressed the button. Each screen names what it kept.
- Improved The confirmation message has no close button and more room at both ends: it leaves on its own after four seconds, and clicking anywhere on it dismisses it.
1.2.12
- Improved Confirmation and error messages are easier to see: rounder, and coloured by what they are saying — green for saved, red for something rejected, amber for something to look at — each with a mark of its own.
- Improved A licence message now looks like one. Activating a key answered in an unmarked grey box, whatever it said; it carries the right colour and a mark like every other message on the screen.
- Improved A licence key that could not be a key is refused on the spot, without a request to the licence server and without reloading the screen. An empty box used to mean a wait, and on an offline site it meant being told the licence server could not be reached.
- Improved A key pasted out of an email in lower case, or with the dashes lost, is put right rather than reported as wrong.
1.2.11
- Fixed Confirmation messages line up properly and sit on rounder corners: they were top-aligned with the text nudged down two pixels to meet the icon, which on a one-line message read as a misalignment because it was one.
1.2.10
- Improved Confirmations are easier to see. The message after a save is bordered in the colour of what it is telling you, sized to the words rather than stretched to a fixed card, and it now says what was saved rather than just "Saved".
- Improved It stays for four seconds instead of three — long enough to read a sentence — and hovering it holds it open.
1.2.9
- Improved Tab changes are instant. The plugin's other screens are fetched quietly in the background while you read the first one, so by the time you click a tab there is nothing left to wait for — tens of milliseconds instead of a second and a half.
- Improved One at a time, never in parallel, started only once the screen you are on is ready and the browser says it is idle, stopped the moment you navigate, and skipped entirely on a metered connection.
1.2.8
- New An admin that never reloads. Every screen arrives without a page load and every save happens where you are standing — and the screen you are heading for is usually already fetched, because moving a pointer to a menu item takes long enough to fetch it.
- New Saved, and told so where you are looking. A save answers in a small message in the top-right corner that clears itself after a few seconds, instead of reloading the page and putting a notice above the header.
- Improved It is an enhancement, not a dependency: if a fetch fails or scripting is off, links navigate and forms submit exactly as they always did, and the server side is unchanged.
1.2.7
- Improved Notices redesigned: a quiet bordered card at 14px with the tone carried by a tinted icon, rather than a block of colour in coloured type.
1.2.6
- Improved Every notice this plugin prints now looks the same: a white box with a coloured rule down its edge — orange for something to do, red for something wrong, green for something that worked. WordPress tinted a warning cream and an error pink and gave each one its own border colour, so a few notices in a row read as a few different kinds of box.
- Fixed The message on the licence screen after activating or deactivating a key now stays where it is printed, rather than jumping down the page a second after the screen has loaded.
1.2.5
- Fixed A notice from this plugin no longer jumps after the page has loaded. WordPress lifts any notice out of the page once it is ready and drops it under the page heading, so the screen settled and then everything below moved by the height of a notice — and painted once in WordPress's colours before ours arrived. Ours stay where they are put, styled from the first paint.
1.2.4
- Improved Tooltips are ours rather than the browser's. They appear the moment you hover or focus instead of after a second, they are styled like the rest of the screen, and somebody using a keyboard gets them too. On this plugin that is the copy button beside a shortcode.
1.2.3
- Fixed The shortcode chip in a list is drawn as one object again — it had become a line of text with a copy icon adrift after it — and copying now turns it the same soft green as everything else that has gone well, rather than outlining it in dark green.
1.2.2
- Fixed The shortcode boxes are drawn properly now. WordPress paints every piece of inline code with its own grey background, which put a second box inside ours; a long shortcode was also cut off at the edge rather than wrapping, so you could not read the end of what you were about to copy.
1.2.1
- Improved Settings now offers both shortcodes as something to take, rather than naming them in a sentence and leaving you to type them out.
- Improved Every dropdown now draws its own arrow. A native select is nearly invisible against our surface on macOS and sometimes has no arrow at all elsewhere, so a dropdown could read as a text box — and a text box invites typing rather than clicking.
- Improved A shortcode is copied by clicking it. It used to be text to select by hand, which is a small tax on the one thing you came to the screen for.
1.2.0
- Fixed An article can show when it was last updated, and how long it takes to read. Both settings existed from the first version and neither was ever drawn — including in the illustration on our own product page, which showed a line the plugin could not produce.
- Improved The search endpoint is rate limited per visitor, as the vote endpoint already was.
- Improved WordPress's own plugin details window now says what the plugin is, not only what changed in the last version.
1.1.0
- Fixed Your theme's byline comes off an article. Most themes print “Written by [author] in [category]”, and a help article has neither — so on this one it read “Written by in”. Off by default, with a setting under On an article for anyone whose theme says something useful there.
- Improved Every article carries a way back: the help centre and the topic it belongs to, above the title.
- Fixed Settings screens lay out in two columns again. The rule that puts panels side by side was in two other plugins and never in the shared stylesheet, so a screen written for two columns rendered as one long one.
- Fixed Opening Articles, FAQs or Topics keeps Help Centre open in the WordPress menu. A taxonomy screen highlighted nothing at all, so opening Topics dropped you out of the plugin with no way back.
- Improved The front page has a band behind its search box, topic cards carry an icon and how much is in them, the most-read list is numbered, and the “Still stuck?” panel is tinted rather than grey.
- Improved “What the customer sees” is a proper footer on the request panel rather than a bare link under the Save button.
1.0.6
- Fixed A colour field is one row again — a swatch and its value. Every one of them was showing its hex box and a Clear button at all times, because a rule meant for the opened picker was overriding the one that keeps them shut, so a screen of colours read as twice as many controls as it had.
- Fixed Each swatch shows its own colour value instead of all of them saying “Select Color”.
1.0.5
- Fixed The requests queue has its own tab again. "Needs a reply" and the Open status were the same word underneath, so the first tab took the second one's label and count — it read "Open 0" while listing ten requests — and there was no way to see only the open ones.
1.0.4
- Fixed A topic page shows its search box and its way back under a block theme too. They were printed where a classic theme wants them, which in a block theme is above the site header.
- Fixed Search results no longer run a heading into the paragraph beneath it — “Start a returnOpen your order”.
- Improved The helpful vote is a thumb up and a thumb down rather than two chevrons.
1.0.3
- Fixed The requests screen is styled. It was rendering as a bare HTML table — subject and reference run together, no status colours, no row lines — because the markup was written against classes the stylesheet never had.
- New The conversation tells apart your replies, the customer's, and private notes at a glance.
- Fixed An article's contents, its helpful vote and its related list now have their colours. The wrapper was missing the class that carries them.
- New Activation creates the two pages the plugin needs — the help centre itself and the page customers reach their requests on — and adopts existing ones rather than making duplicates.
- Fixed Your help centre address goes to the help centre. It used to land on the theme's article archive: every article printed in full, no search box, nothing to click.
- Improved A topic page lists its articles with a sentence each and a link, above a search box and a way back, instead of printing all of them end to end.
1.0.2
- Fixed The licence screen and its notices are in Spanish and French, as the rest of the plugin already was — 56 strings had never made it into the catalogue.
- Fixed A median first reply under an hour reads in minutes. Rounding it to hours turned a ten-minute desk into "0.0h", which looked like a broken statistic.
1.0.1
- Fixed The icons in the section bar are 17px, matching the other plugins — they were two pixels smaller here, which made the whole bar read as a different size.
1.0.0
- New First release.
Pricing
Every plan includes every feature. Choose how many domains, and whether to pay yearly or once.
Pay yearly renews until you cancel
1 domain
One year of updates and support
5 domains
One year of updates and support
Unlimited domains
One year of updates and support
Pay once (lifetime) no renewals
5 domains
Updates and support for as long as we publish it
Unlimited domains
Updates and support for as long as we publish it
- Every plan includes every feature. You choose only the number of domains.
- 30-day refund, no reason needed. Refund policy
- Licence key and download straight after payment, by Stripe.
- A lapsed licence stops updates and support. It never switches a feature off.
- Local, development and staging copies are free and do not count against your domains.
- Yearly plans renew at the then-current price until you cancel. Cancel any time from your account.
- Where tax applies it is calculated at checkout and shown before you pay.