JKD Theme Companion

Plugin Banner

JKD Theme Companion

by jkdevstudio

Download
Description

JKD Theme Companion works with free WordPress themes by jkdevstudio. Install it next to the theme and its pages appear in the theme’s own dashboard. There is no account to create and no key to enter.

Paired with one of those themes, it gives you:

  • Demo import: your site comes up looking like the theme’s demo.
  • One page at a time: take the whole demo, or import a single page into a site you have already started.
  • Rollback: undo an import you change your mind about.
  • Fonts library: add Google fonts, self-host them on your own server with one switch, or use an Adobe Fonts kit ID.
  • Translations: WPML and Polylang read the settings you fill in while setting the theme up.
  • Export and import: carry the theme settings to another site, or restore them later.
  • What’s New and changelog: read both from the dashboard.
  • Maintenance: clear the caches, or reset everything the plugin has stored.
  • MCP endpoint: for an AI client you want to reach the theme settings.

With a theme from anyone else the plugin stays quiet and points you to ours.

External Services

The plugin talks to the services below. Each one lists what it is, when it is contacted, and what leaves your site. Nothing about your visitors is sent from your server.

jkdevstudio Hub

Service: hub.jkdevstudio.com

Our own service. It serves the demo files, the demo and integration catalogues with their preview images, the theme changelog, the What’s New feed, and the list of our themes shown on the plugin’s page when no jkdevstudio theme is active.

  • When: you open one of those pages, or you start a demo import. The theme list is cached for 12 hours.
  • Sent: your active theme’s product id (source_id) on catalogue and changelog requests. The What’s New feed and the theme list send nothing about your site.
  • Received: preview images, loaded into your admin screen.

Terms and conditions: jkdevstudio.com/terms-conditions
Privacy policy: jkdevstudio.com/privacy-policy

Google Fonts

Service: fonts.googleapis.com and fonts.gstatic.com

Google’s font service, used when you pick a Google font in the fonts library.

  • When: on front-end page loads, while a Google font is selected and self-hosting is off.
  • Sent: the request comes from your visitor’s browser, so it exposes their IP address to Google, as any Google Fonts embed does.
  • Avoiding it: turn on self-hosting. The files download to your own server and nothing is requested from Google.

Terms of use: policies.google.com/terms
Privacy policy: policies.google.com/privacy

Google Fonts Developer API

Service: www.googleapis.com (optional)

Google’s API for listing font families.

  • When: from your server, when the font list is refreshed and you have entered your own API key under Fonts > Providers.
  • Sent: your API key. Without a key the plugin reads a bundled list and makes no request at all.

Terms of use: developers.google.com/terms
Privacy policy: policies.google.com/privacy

Adobe Fonts

Service: use.typekit.net (optional)

Adobe’s font service.

  • When: on front-end page loads, only after you enter a Typekit kit ID.
  • Sent: the kit ID, as part of the stylesheet URL your visitor’s browser requests.

Terms of use: adobe.com/legal/terms.html
Privacy policy: adobe.com/privacy/policy.html

License

JKD Theme Companion is free software, released under the GNU General Public License v2 (or later). See the bundled LICENSE file or gnu.org/licenses/gpl-2.0.html for the full terms.

  1. Install and activate a WordPress theme by jkdevstudio.
  2. Install and activate JKD Theme Companion.
  3. Open your theme’s dashboard in the WordPress menu. The extra pages are there.
Do I need a license?

No. There is no account to create and no key to enter.

Does it work with any theme?

It is built for WordPress themes by jkdevstudio. With another theme it stays quiet and points you to ours.

What happens to my content when I import a demo?

The demo is added to your site. Anything it would overwrite is snapshotted first, so rolling the import back restores what was there. Take a backup anyway if the site already holds content you care about.

Can I import only one page?

Yes. A demo can be imported whole, or one page at a time.

Do the Google fonts have to load from Google?

No. One switch downloads the font files to your own server, and your visitors are no longer sent to Google.

1.3.22

  • Fixed: a demo import that could not save its data reported success with nothing imported. It now stops and tells you why.
  • Fixed: if a demo import cannot back up one of your pages before replacing it, it now leaves that page alone, so undo can always bring it back.
  • The plugin now includes the source code of its admin screens and a list of the open-source libraries they use.

1.3.21

  • New: the first time you open the dashboard, your block theme’s default fonts are added to Appearance > Fonts, so the theme shows them right away. You can change or remove them there like any other font.

1.3.20

  • Fixed: on a multisite network, demos imported by a site admin lost their embeds, SVG images and inline styles. Demos from your theme’s catalogue now import in full.
  • Fixed: undoing a demo import could strip embeds and SVG images from a page it restored.

1.3.19

  • Demo import now brings over block theme designs in full: Site Editor templates, styles, navigation menus, synced patterns and fonts from the Font Library.
  • Fixed: importing a demo could create a second copy of your theme’s styles, so the demo’s styles did not show.
  • Fixed: pages of a demo’s custom content types, such as portfolio items, showed “not found” until permalinks were saved again.
  • Demo export no longer includes saved settings of switched-off integrations, such as API keys.

1.3.18

  • Fixed: on sites set up for theme development, the admin menu could shift out of place.

1.3.17

  • Demo import keeps a more accurate record of the step an interrupted import stopped at.

1.3.16

  • Integrations that are not made for your active theme now stay switched off, and their card says so.

1.3.15

  • Fixed: demo pages built with Elementor came in empty when Elementor’s Flexbox Container feature was off. The import now turns it on and sets Elementor to write its CSS to files.
  • Demo import: if you reload the page or close the tab, a Continue import button picks the import up where it stopped.
  • Demo import: importing a demo again over existing content is faster.
  • Demo export: the posts a page picks by hand are now exported with it.
  • Fixed: after a short outage on our server, the plugins a demo needed failed to install for the next 15 minutes.
  • The “Remove everything when uninstalling” setting now says it applies when you delete the plugin, and it removes itself too.
  • Report a bug opens a new support ticket with your theme already chosen.

1.3.14

  • Fixed: the Version Control screen was blank.
  • Fixed: the font catalog did not load on sites set to plain permalinks.
  • Fixed: the menu icon was too large when no compatible theme was active.
  • Fixed: the Integrations and Import / Export shortcuts on the dashboard showed as locked.
  • Locked features now have an Upgrade button instead of a note.
  • AI: the recent activity list is shorter, with one line per action.

1.3.13

  • Fixed: updating the companion from its own Updates screen switched the plugin off.
  • Fixed: with a child theme active, the Updates screen checked the child theme instead of the parent.
  • Demo import: an import the server cut short can now be finished or undone, and nothing it added is lost.
  • Demo import: errors now say what went wrong, such as a PHP time or memory limit, a refused download or a damaged file.
  • Demo import: the readiness check now also covers the uploads folder, file access, image processing and the PHP time limit.
  • Fixed: a demo replaced on the server could keep installing the old copy for a day.

1.3.12

  • Fixed: a demo’s background image was sometimes left out of the import.
  • Fixed: the dashboard link that installs the companion plugin said it had expired.
  • Demos can now be exported and imported with WP-CLI, and by AI assistants connected to your site.
  • WP-CLI demo commands stop with an error on a mistyped option instead of running with a default.

1.3.11

  • Fixed: after you stopped an import, a new one stopped right away.
  • Fixed: the progress window did not move while an import was running in the background.
  • A demo without its own small icon shows just its name, which can wrap to a second line.

1.3.10

  • An import keeps running when you close its window, and you can stop it.
  • The gallery marks the demo being imported, and other demos wait until it finishes.
  • A demo you opened in the last day opens without downloading it again.
  • An integration your site cannot use no longer blocks the import. The import skips it.
  • Links to posts that are not part of the demo are left out without being reported as errors.
  • Fixed: a dropped connection could leave an import stuck on “in progress”.

1.3.9

  • You can leave out any integration a demo uses when you import it.
  • Integrations that need another plugin now set it up during import, however many of them there are.
  • Menus import as one choice instead of two.
  • The demo gallery opens right away and keeps the demo order; images fill in as they load.
  • The export lists only plugins the import can install.

1.3.8

  • The demo gallery shows two demos per row, each with its description, category and the plugins it needs.
  • Clicking a demo’s preview opens its live site.

1.3.7

  • Fixed: a demo that was replaced on the hub is downloaded again instead of the old copy.
  • Shift+click selects a range of content groups when you export a demo.

1.3.6

  • Fixed: the plugin’s pages were blank after installing it from WordPress.org.
  • Keeps working when the theme is updated before the plugin, or the plugin before the theme.

1.3.5

  • You can remove an integration you installed from the catalogue: turn it off, then click Remove on its card.

1.3.4

  • The upgrade page links to your theme’s full FAQ when the theme has one.
  • The upgrade page FAQ no longer mixes in extra questions from the theme.

1.3.3

  • The “Rate us” link opens your theme’s own review page, and is hidden when the theme has none.
  • When no compatible theme is active, the plugin page lists our six newest themes.

1.3.2

  • Saving an API key no longer fails on hosts without the native encryption extension.
  • The demo install dialog was reworked, and its requirements list names the Pro plugin instead of the toolkit.
  • Buttons inside a notice read as links, the way the rest of the admin does.

1.3.0

  • Demos that are not ready yet move to the end of the list, and a demo with a live preview links to it.
  • The fonts settings screen no longer cuts off its first row.
  • Admin screens load faster. Your settings are read once per page instead of thousands of times.
  • If the plugin’s interface files are missing, the screen tells you instead of going blank.
  • Lists inside an announcement keep their indent.

1.2.0

  • Demo import installs and activates the plugins a demo needs before its content arrives.
  • Links, images and settings in an imported demo point at your site, not the demo.
  • A demo’s fonts come with it and load from your site instead of Google.
  • The widgets a new WordPress site starts with can be cleared before a demo is imported.
  • Importing a single page brings only that page and its images.
  • Importing a demo twice no longer doubles its menus.
  • A font in the library can load its variable version.
  • Rebuild styles regenerates every stylesheet the plugin creates.
  • Pages keep loading normally when the update service is unreachable.

1.1.0

  • A long demo import is no longer reported as interrupted while it is still working.
  • Demo import now records what it did, so a support request can start from the log instead of a description.
  • Fonts are cached locally in small batches. A large family no longer holds up a page while it downloads.
  • An add-on update that needs a newer version of your theme is held back, with a note saying so, instead of breaking the site.
  • The log keeps much more history, and the log viewer shows each entry with its level, time and details.

1.0.4

  • Fixed a broken link in the plugin description.

1.0.3

  • Works with WordPress 7.1.
  • Cleaner look across the plugin’s screens.
  • Demo import brings over more of the demo’s settings.

1.0.2

  • The list of outside services the plugin contacts now reads clearly, with working links.

1.0.1

  • Plainer wording in the plugin description.

1.0.0

  • First release: demo import, the fonts library, WPML and Polylang, settings export and import, update feeds, cache clearing, and an MCP endpoint for AI clients.
Back to top