Setting up AI features

JKD Toolkit 9 min read

This integration switches on the theme features that rely on AI: selecting posts for feeds, and short automatic texts such as summaries and key points.

It runs on the mechanism built into our framework and on the connector to AI services built into WordPress. The connection is made the standard WordPress way rather than through a channel of our own, and an account with a provider and its key are yours to arrange.

Setting up AI features on your siteThe theme has no AI connection of its own and stores no keys. It works on top of the mechanism built into WordPress. That single sentence resolves the most common confusion here: people look...Setup Guide

#What this is not

Worth reading before the feature list, because most people arrive here already skeptical about the word AI in a theme.

It is not a text generator for the sake of text. It does not write your articles and it does not fill your site with invented content.

It is not a separate tool that looks at one post and produces generic sentences with no idea what the rest of the site contains. That is what most AI add-ons are, and it is why their output reads as empty.

The positive version, which is the actual claim: these features are designed around the context of your whole site. The result improves the more connected material you have, which is a principle rather than a promise about quality.

#Generators

The central concept, and the one to understand before anything else.

A generator is a saved recipe rather than a one-off action. It says how the result should read and what the model is allowed to see. It says nothing about where the result appears; that is the theme's choice.

An example makes it concrete. "Card hint" is one generator. Where the hint appears is set in the blog settings. Change the recipe and every hint on the site changes at once.

There are two kinds, on one page:

Text generators

Return a single line, or a short list. A summary, a card kicker, a set of key points.

Selection generators

Return a set of posts for a feed.

The page opens with three ready made examples of each kind, which you can edit or delete. That is deliberate: an empty repeater and an empty row explain nothing.

A generator's identifier is permanent, so nothing you do to the list breaks a link.

Renaming it, dragging it, or deleting a neighbour above it leaves every setting that points at it pointing at the same recipe. That is the question everybody has on their second day.

#Text generators

The fields fall into two halves, and it helps to read them that way.

How to write: style, tone, who it is for, a ceiling in words, language, extra instructions.

What to read: which fields of the post, how many characters of the body, which taxonomies.

Each list has an "Other" option that opens a field for your own wording. The presets cover the usual answers rather than all of them.

The character limit on the body is not there to save money. It keeps the output predictable on a long article.

#Letting AI fill post fields

A recipe on its own writes nothing. You choose which fields it writes, under Blog > Content > AI Writing: the subtitle, the excerpt, the summary block and the key points. Each field names the recipe it follows and how much of what is already there a new pass may replace.

Three replacement rules, and the difference between them is the whole feature:

Only fill it in when it is empty

The safe default. AI never touches a field that already has something in it.

Also rewrite what AI wrote before

Keeps the work the AI produced up to date as posts change, and still never touches a line you typed.

Rewrite everything, including what you typed

Hands the field to AI outright. Use it when you never intend to write that field by hand.

#What happens when you edit the text yourself

The moment you rewrite a value AI produced, that field becomes yours. No later pass overwrites it, under either of the first two rules.

To hand a field back, clear it and save. An empty field goes back into the queue and the next pass fills it again.

#When it runs

Writing happens in the background, never while a visitor is loading a page. On the General tab you set how often a pass goes through your posts, and the button beside it starts one immediately. Use the button for the first run on an archive that already has hundreds of posts.

A pass only asks the model about a post when something that feeds the prompt has actually changed, so a schedule left running does not keep paying for the same answers.

Everything a pass writes on one post is asked for in a single request rather than one per field.

#Telling readers what AI wrote

Off by default, because disclosing it is your call rather than ours.

A post listing can put a small mark before an excerpt AI wrote, and a post can put the same mark on its summary and key points headings. In a listing chosen by AI you can also show a line above the feed, or a mark on the section title, saying so.

#AI mode in listings

The easiest part to understand, because you see the result immediately. Any post listing can switch into a mode where the posts are chosen by AI according to a scenario you defined.

The scenarios are described once here, and a listing simply picks the one it wants. Same division as everywhere: the integration holds what is general, the listing holds what is its own.

#It works in two stages

This matters, because it answers both the cost question and the privacy one.

First an ordinary query gathers a pool of candidates, using categories, tags, authors, post formats, a time window and a pool size. Only that pool is described to the model.

The model never sees your whole site, and a large archive costs the same as a small one.

Then the scenario decides how to choose from the pool: what to judge by, meaning recency, views, likes or discussion; how many posts to take; and whether to spread the selection across categories so the feed does not collapse into one section.

#Two guarantees worth having

There is always a fallback. AI mode never replaces the ordinary query, it layers over it. If the scenario returns nothing, the feed shows what it would have shown without AI. Your site never displays an empty block.

The page never waits for the model. A ready answer is served from cache, and if there is none yet the selection is computed in the background and appears on later loads. How often it refreshes is set in the scenario, in hours.

One boundary: the mode is not available in every place that has a post listing.

These two blocks sit under an article and choose what to read next, so their selection belongs to that one post rather than to the site.

Both can hand the choice to AI, under Single Post. Read also either fills only the posts where you picked nothing yourself, or leads with the recipe and keeps your hand-picked list for when it has nothing to say. Related posts falls back to the relation you already set.

A selection generator can also work from the post being read: stay inside its categories or tags, stay with its author, or be told what the article is about before it chooses.

#Demo mode

A switch on the General tab, for demo and staging sites.

With it on, every generator answers from your own posts instead of calling a provider. Nothing is sent anywhere and nothing is charged, and the rest of the site behaves exactly as it would live: the text is saved on the post, marked as AI written, and disclosed to readers if you asked for that.

It is for showing the features working before you have credentials, not for running a real site.

#Integrations are part of the theme

This integration is licensed with the theme, not on its own.

Integrations are premium functionality for customers running a Pro license of one of our themes. They are written against our themes and expect them, and we cannot support or take responsibility for what one does inside somebody else's theme. See how theme integrations work.

#Common questions

Which AI provider do I need?

Whichever the WordPress connector supports, because the connection is made there and the theme never holds a key of its own.

Does every page load call the AI?

No, nothing calls a provider while a page is being drawn: text is written on a schedule and saved onto the post, and listing selections are computed in the background and served from cache.

My AI feed looks the same as the normal one

Most likely the scenario returned nothing and the fallback took over, which is the guarantee working rather than a failure, so widening the candidate pool is usually the fix.

AI stopped updating one of my summaries

You edited it, and a field you rewrite by hand belongs to you from then on, so clear it and save to hand it back to the queue.

Nothing is generated at all

Check that the assistant is connected first, which the panel states in one line, and after that the usual cause is a generator that was created but never selected on the setting meant to use it, since connecting a generator to a place is a separate step. If a scheduled pass simply has not reached your post yet, run one by hand with the button on the General tab.

#Still stuck

Open a support ticket with which feature is silent and what the integration panel says about the connection.

Last updated

Was this article helpful?

Related articles

FIND THE ONE THAT FITS YOUR PROJECT

Import a demo, swap the content, adjust the layout. Modern WordPress under the hood, fast even when the site fills up.