Title: EfficiencyNext Data Connector
Author: EfficiencyNext
Published: <strong>Maret 3, 2026</strong>
Last modified: Juli 22, 2026

---

Search plugins

![](https://ps.w.org/efficiencynext-data-connector/assets/banner-772x250.png?rev
=3618830)

![](https://ps.w.org/efficiencynext-data-connector/assets/icon-256x256.png?rev=3618830)

# EfficiencyNext Data Connector

 By [EfficiencyNext](https://profiles.wordpress.org/efficiencynext/)

[Download](https://downloads.wordpress.org/plugin/efficiencynext-data-connector.2.0.0.zip)

 * [Details](https://su.wordpress.org/plugins/efficiencynext-data-connector/#description)
 * [Reviews](https://su.wordpress.org/plugins/efficiencynext-data-connector/#reviews)
 *  [Installation](https://su.wordpress.org/plugins/efficiencynext-data-connector/#installation)
 * [Development](https://su.wordpress.org/plugins/efficiencynext-data-connector/#developers)

 [Support](https://wordpress.org/support/plugin/efficiencynext-data-connector/)

## Description

**Describe the page you want. Let AI build it from your live data.**

Your data already lives somewhere else. Job openings in your applicant tracking 
system. Prices in your ERP. Availability in your booking platform. Stats in your
internal dashboard. Every one of them is a page on your site that somebody keeps
up to date by hand — and that is always a little bit out of date.

EfficiencyNext Data Connector ends that. Point it at your API, tell it what you 
want to see, and AI writes the page for you. From then on it stays current on its
own.

**AI THAT ACTUALLY KNOWS YOUR DATA**

This is not a chatbot bolted onto a settings screen, and it is not generic template
code you have to rewrite. Before it generates anything, the plugin fetches a live
sample from your endpoint and reads the real shape of your response — the actual
field names, and which of them live inside arrays that need to be looped.

That grounding is the difference between a template that works on the first try 
and one that renders empty boxes.

 * **Pick a layout or describe it yourself** — Data Table, Card Grid, Product Listing,
   Pricing Table, Team Directory, Stats Dashboard, FAQ, and more, or choose Other
   and say what you want in your own words
 * **Generated against your real fields**, including nested arrays and APIs that
   return a bare list
 * **Styled automatically** with the plugin’s own design system, so the result looks
   finished, not like raw markup
 * **Shown to you immediately** in a live preview rendered with real data — keep
   it, or generate again until it is right
 * **Sanitized before it ever reaches your page**, so a model cannot introduce a
   script or iframe tag

**YOUR AI, YOUR KEY, YOUR ACCOUNT**

Bring your own key for **OpenAI**, **Claude (Anthropic)**, or **Google Gemini**,
and pick the model you want — including any newer model your key can access. Requests
go directly from your site to the provider you chose. Your data is never proxied
through an EfficiencyNext service, and there is no AI subscription to us. Your key
is stored in your own database and never sent to the browser.

**OR SKIP THE AI ENTIRELY**

The AI is the fast path, not the only path. Click **Preview API** and the plugin
lists every field it found — click them to build a template by hand, in familiar
Mustache-style `{{variable}}` syntax. Everything the generator produces, you can
read and edit. Nothing is locked behind the AI, and the plugin works completely 
without a key.

**FROM ENDPOINT TO PUBLISHED PAGE IN MINUTES**

 * Paste your API URL and click **Preview API** — the plugin fetches a live sample
   and lists every field it finds
 * Generate the template with AI, or click fields to build it yourself
 * See exactly how it will look with **Live Preview**, before you save anything
 * Paste a placeholder like `{{Positions}}` into any post or page, or use a shortcode—
   and you are done

No developer, no theme edits, no scheduled export, no page builder to learn. If 
your system can return JSON, your site can display it.

**IT LOOKS GOOD WITHOUT A DESIGNER**

AI-generated templates come out styled, because the plugin ships its own design 
system and the generator writes against it. It covers the layouts people actually
need — data tables, card grids, product listings, pricing tables, team directories,
article feeds, stats panels, FAQs, event schedules, and testimonials — all responsive,
all handling light and dark themes automatically.

Want it to match your brand? Change one accent color and everything updates at once.
Want full control? The **Appearance** tab hands you the entire stylesheet to edit,
and your version is kept safely in the database where plugin updates cannot overwrite
it.

**BUILT SO YOUR SITE STAYS FAST — AND STAYS UP**

Most plugins that fetch external data make your visitors wait for someone else’s
server. This one does not.

 * Responses are cached, so a page view never blocks on your API
 * When data goes stale it is served instantly while it refreshes quietly in the
   background
 * If your API goes down, visitors keep seeing the last good data instead of an 
   empty page
 * Pages that do not use the plugin are untouched — it does no work at all unless
   a placeholder is actually present

**SECURE BY DEFAULT**

Every value is escaped on output and every template is sanitized through WordPress’s
own `wp_kses`, so scripts and iframes cannot make it onto your pages — including
from AI-generated templates. Credentials are saved once as reusable authentication
profiles, shared across your data sources, and never sent to the browser.

**WHY DEVELOPERS LIKE IT TOO**

 * Zero external dependencies — pure, modern PHP 8.0+ code, tested on 8.3
 * Familiar Mustache-style `{{variable}}` syntax with loops, conditionals, and dot
   notation
 * Shortcodes that accept per-use URL and template overrides
 * Everything scoped to a single CSS container, so nothing leaks into your theme
 * Fully internationalized and translation ready

**ABOUT EFFICIENCYNEXT**

EfficiencyNext builds practical automation tools for teams who would rather not 
do the same work twice. Data Connector is free and open source under the GPL.

## Screenshots

[⌊The same product data rendered two ways on the front end — a striped data table
and a responsive card grid — styled entirely by the plugin's own stylesheet.⌉⌊The
same product data rendered two ways on the front end — a striped data table and 
a responsive card grid — styled entirely by the plugin's own stylesheet.⌉[

The same product data rendered two ways on the front end — a striped data table 
and a responsive card grid — styled entirely by the plugin’s own stylesheet.

[⌊Generate with AI: pick a page type such as Card Grid, add your own instructions,
and the template is written against the 38 fields discovered in your API response.⌉⌊
Generate with AI: pick a page type such as Card Grid, add your own instructions,
and the template is written against the 38 fields discovered in your API response
.⌉[

Generate with AI: pick a page type such as Card Grid, add your own instructions,
and the template is written against the 38 fields discovered in your API response.

[⌊The source editor: the live API response and its clickable fields sit beside the
template, so you build against your real data instead of guessing at field names.⌉⌊
The source editor: the live API response and its clickable fields sit beside the
template, so you build against your real data instead of guessing at field names
.⌉[

The source editor: the live API response and its clickable fields sit beside the
template, so you build against your real data instead of guessing at field names.

[⌊Live Template Preview renders the current template with a real API sample and 
the plugin's styles, inside the editor, before you save.⌉⌊Live Template Preview 
renders the current template with a real API sample and the plugin's styles, inside
the editor, before you save.⌉[

Live Template Preview renders the current template with a real API sample and the
plugin’s styles, inside the editor, before you save.

[⌊The Data Sources tab lists every source with its placeholder, shortcode, cache
lifetime, and authentication status, plus a quick reference for template syntax.⌉⌊
The Data Sources tab lists every source with its placeholder, shortcode, cache lifetime,
and authentication status, plus a quick reference for template syntax.⌉[

The Data Sources tab lists every source with its placeholder, shortcode, cache lifetime,
and authentication status, plus a quick reference for template syntax.

[⌊The Caching tab: stale grace window, tracked variants per source, and a Clear 
Cached Responses button.⌉⌊The Caching tab: stale grace window, tracked variants 
per source, and a Clear Cached Responses button.⌉[

The Caching tab: stale grace window, tracked variants per source, and a Clear Cached
Responses button.

## Installation

#### Minimum Requirements

 * WordPress 6.0 or greater (tested up to 6.9)
 * PHP version 8.0 or greater (8.3 recommended)
 * An API endpoint that returns JSON
 * WP-Cron enabled, for background refreshes (the plugin still works without it)

#### Automatic installation

Automatic installation is the easiest option. Log in to your WordPress dashboard,
go to **Plugins  Add New**, search for “EfficiencyNext Data Connector,” and click**
Install Now**, then **Activate**.

#### Manual installation

Download the plugin, upload the `efficiencynext-data-connector` folder to `/wp-content/
plugins/` on your server, then activate the plugin through the **Plugins** menu 
in WordPress. See the [WordPress documentation on manual plugin installation](https://wordpress.org/documentation/article/manage-plugins/#manual-plugin-installation-1)
for details.

#### Updating

Automatic updates work as normal. Your data sources, authentication profiles, and
custom stylesheet are stored in the database and are preserved across updates.

#### Setting up your first data source

 1.  Go to **Settings  Data Connector** and click **Add New Source**
 2.  Enter a **Source Name** (used with shortcodes and for identification)
 3.  A **Placeholder** is auto-generated (for example `{{Positions}}`) — this is what
     goes in your page or post content
 4.  Enter your **API URL** that returns JSON data
 5.  If the endpoint needs credentials, set **Authentication** (a saved profile or 
     inline) — the preview requests use it too
 6.  Click **Preview API** to see the JSON response and the available template fields
 7.  Create your **Template** using Mustache-style syntax — click the listed fields
     to insert them, or use **Generate with AI**
 8.  Click **Preview template** to see it rendered with a live API sample and the plugin’s
     styles before saving
 9.  Toggle **Inline** if the placeholder appears within a paragraph rather than on
     its own line
 10. Save, then paste the placeholder into any post or page

#### Template syntax reference

 * `{{variable}}` — Display a simple value
 * `{{#section}}...{{/section}}` — Loop over arrays or conditional sections
 * `{{#nested.section}}...{{/nested.section}}` — Loop over an array nested inside
   an object
 * `{{#.}}...{{/.}}` — Loop when the API returns a bare array of items
 * `{{^section}}...{{/section}}` — Show content when a value is empty or missing
 * `{{.}}` — Current item in a simple loop
 * `{{object.property}}` — Access nested properties with dot notation

#### Shortcode reference

 * `[effcncynxtdc source="SourceName"]` — Render a configured data source
 * `[effcncynxtdc source="SourceName" url="https://..."]` — Override the API URL
 * `[effcncynxtdc source="SourceName" template="<b>{{name}}</b>"]` — Override the
   template
 * `[effcncynxtdc_inline source="SourceName"]` — For inline usage

#### Settings tabs

Beyond your data sources, **Settings  Data Connector** has tabs for **Authentication**(
reusable credential profiles), **AI Settings** (provider and API key for template
generation), **Appearance** (the editable front-end stylesheet), and **Caching**(
cache lifetime, stale grace window, tracked variants, and a Clear Cached Responses
button).

## FAQ

### What PHP version is required?

PHP 8.0 or higher is required. The plugin is fully tested with PHP 8.3.

### How do I use shortcodes?

Add `[effcncynxtdc source="YourSourceName"]` in your post or page content. The source
name must match a configured data source. You can optionally override the URL or
template via shortcode attributes.

### Can I use dynamic URLs?

Yes! You can use query parameters in your API URLs. For example:
 https://api.example.
com/data?id={{id}}

The `{{id}}` will be replaced with the `id` query parameter from the current page
URL.

### How do I loop over an array?

Use section tags:

    ```
    {{#items}}<li>{{name}}</li>{{/items}}
    ```

### Is the output secure?

Yes. All variable output is automatically HTML-escaped to prevent XSS attacks. Templates
are sanitized using WordPress’s wp_kses function, which strips dangerous HTML tags
like script, iframe, and form elements while preserving safe formatting tags.

### How is API data cached?

Each data source has a **Cache Lifetime** (default 300 seconds). A successful response
is reused for that long, so visitors do not wait on your API. Set it to 0 for real-
time data, accepting that every page view will then block on the request.

When the lifetime expires the data goes **stale** rather than disappearing. Visitors
keep receiving the last known good copy instantly, while a refresh is queued and
runs in a separate background process. Only the very first request for a source 
ever blocks.

Failed requests are cached for 60 seconds no matter what the lifetime is set to.
This is a circuit breaker: without it, an unreachable API is retried on every page
view, holding a PHP worker for the length of the timeout each time, which is enough
to take a site offline.

Use **Clear Cached Responses** on the Caching tab to discard everything immediately.
Saving a data source, an authentication profile, or the cache settings clears the
cache automatically.

### When does the background refresh actually run?

WordPress cron is triggered by incoming traffic, not by a timer. Marking data stale
queues a job; the next visit to any page on the site causes WordPress to spawn a
background process that runs it. So a refresh lands shortly after the next request,
and no visitor ever waits for it.

If your site has no traffic, nothing refreshes — and there is nobody to serve. If`
DISABLE_WP_CRON` is set, refreshes run whenever your system cron next triggers `
wp-cron.php`; the Caching tab warns you when this is the case. If loopback requests
are blocked (common on local development), background refreshes never run, and the
plugin falls back to one blocking fetch per grace window instead of one per cache
lifetime.

### What is the Stale Grace Window?

How long last-known-good data keeps being served after it goes stale, while a refresh
is attempted. The default is 86400 seconds (24 hours), so if your API goes down 
for an hour, visitors keep seeing yesterday’s data instead of an empty table.

Set it to 0 to never serve stale data. Visitors then wait for a fresh fetch each
time the cache expires, and see nothing at all if the API is down. Choose 0 when
being wrong is worse than being slow — pricing, stock levels, availability.

### What are variants, and why is there a limit?

If a source’s API URL contains a parameter, such as `https://api.example.com/items?
id={{id}}`, then each distinct value of `id` produces a separate cached response.
Each of those is a **variant**.

Parameters that the URL does not reference never create variants, so tracking parameters
like `utm_source` and `fbclid` cost you nothing.

The **Tracked Variants Per Source** setting (default 20) bounds how many variants
are kept “warm” — cached _and_ refreshed in the background. A variant earns a warm
slot after being requested repeatedly, and can only displace an incumbent that has
gone unused for a week. This matters for more than tidiness: without it, anyone 
could walk `?id=1` through `?id=50000` and turn your site into an amplifier against
your own API, since every unseen value is a cache miss and therefore a live request.
Requests for variants outside the warm set are still cached and served, they are
just never refreshed ahead of time, and are subject to a site-wide rate limit on
uncached fetches.

Set the limit to 0 to keep only static URLs warm. That is the safest choice when
your parameters take unbounded values such as a product id.

### Does the plugin slow down pages that do not use it?

No. Content is only processed when the post or page actually contains a placeholder—
the plugin checks for the `{{` marker before doing anything else. Shortcodes only
run when present, as usual. Titles are checked the same way. Excerpts never trigger
an API request: any placeholder is removed instead, because an excerpt is truncated
to a few dozen words and the fetched data would be discarded.

### How do reusable authentication profiles work?

Go to **Settings  Data Connector  Authentication** and create a profile with your
Basic Auth or API Key credentials. Then, on any data source, pick that profile from
the **Authentication** dropdown instead of re-entering credentials. Updating the
profile updates every source that uses it. A profile that is still in use cannot
be deleted. Sources created before 2.0.0 keep their own inline credentials and continue
to work unchanged.

### Do I need to pay EfficiencyNext to use the AI template generator?

No. The generator is bring-your-own-key (BYOK): you supply an API key for OpenAI,
Claude (Anthropic), or Google Gemini on the **AI Settings** tab. Requests go directly
from your site to the provider you choose, and usage is billed to your own provider
account. This plugin does not proxy your data through any EfficiencyNext service.

### How do I generate a template with AI?

 1. Configure a provider and API key on the **AI Settings** tab
 2. Open a data source and click **Generate with AI** — if you have not run **Preview
    API** yet, the plugin fetches a sample automatically so it knows your real field
    names
 3. Pick a page type (Data Table, Card Grid, Product Listing, and so on), or choose**
    Other** and describe what you want
 4. Click **Generate Template** — the result is sanitized, written straight into the
    Template field, and shown in the Live Preview so you can keep it or generate again

Generated templates go through the same wp_kses sanitization as hand-written ones,
so a model cannot introduce script or iframe tags.

### How is the rendered output styled?

The plugin ships its own front-end stylesheet, so your data looks consistent everywhere
it appears — you do not style templates individually. Templates stay structural:
they attach a small set of plugin CSS classes (for example a striped data table,
a responsive card grid, a pricing table, or a stats panel) and the stylesheet handles
spacing, borders, colors, and light/dark themes. The AI generator applies these 
classes for you. The output is wrapped in an `.effcncynxtdc` container that scopes
every rule, so nothing leaks into your theme, and you can restyle every source at
once by overriding the stylesheet’s CSS custom properties (accent color, borders,
radius, and so on). Inline styles are discouraged but still permitted for manual
one-off tweaks.

### How do I add my own CSS?

Go to **Settings  Data Connector  Appearance**. The box there holds the full stylesheet
for rendered output and is pre-loaded with the plugin’s built-in styles, so every
class and design token is visible and editable. Change any rule; your version is
stored in the database (not in a plugin file), so it survives updates, and it is
used in place of the built-in styles. The quickest way to rebrand everything at 
once is to override the design tokens near the top, for example:

    ```
    .effcncynxtdc { --effcncynxtdc-accent: #c0392b; --effcncynxtdc-radius: 4px; }
    ```

Clear the box entirely to fall back to the built-in styles, or click **Reset to 
defaults** to reload the current built-in styles into the editor (then Save). The
stylesheet only loads on pages that actually render a data source.

### Can I preview a template before saving?

Yes. Click **Preview template** in the source editor to render the current template—
saved or not — with a live sample from your API and the plugin’s own styles, exactly
as it will appear on your site. The preview runs through the same template engine
and sanitizer as the front end and displays in an isolated frame, so nothing from
the admin screen affects how it looks. Generating a template with AI shows this 
preview automatically.

### Where is my AI API key stored?

In the WordPress options table, alongside your other plugin settings. It is never
sent to the browser: the admin screen only shows whether a key is stored. Deleting
the plugin removes it.

### Can I translate the plugin?

Yes! EfficiencyNext Data Connector is fully internationalized. Place your translation
files in the `wp-content/plugins/efficiencynext-data-connector/languages/` directory
using the text domain `efficiencynext-data-connector` (e.g., `efficiencynext-data-
connector-fr_FR.po`). All admin interface strings, including JavaScript-rendered
text, are translatable.

### What HTML tags are allowed in templates?

Templates support common structural and formatting tags including: table elements,
divs, spans, paragraphs, headings, lists, links, images, strong, em, code, pre, 
and semantic HTML5 elements. Script, iframe, form, and other potentially dangerous
tags are stripped.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“EfficiencyNext Data Connector” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ EfficiencyNext ](https://profiles.wordpress.org/efficiencynext/)

[Translate “EfficiencyNext Data Connector” into your language.](https://translate.wordpress.org/projects/wp-plugins/efficiencynext-data-connector)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/efficiencynext-data-connector/),
check out the [SVN repository](https://plugins.svn.wordpress.org/efficiencynext-data-connector/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/efficiencynext-data-connector/)
by [RSS](https://plugins.trac.wordpress.org/log/efficiencynext-data-connector/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.0.0

**Authentication**

 * Reusable authentication profiles: save Basic Auth or API Key credentials once
   and select them on any data source
 * Profiles in use cannot be deleted; existing sources with inline credentials keep
   working unchanged
 * New Authentication tab on the settings screen
 * Stored secrets are never sent to the browser; the admin UI reports only whether
   a value exists

**AI template generation**

 * New AI Settings tab. BYOK: choose OpenAI, Claude (Anthropic), or Google Gemini
   and supply your own API key, with a Test Connection check
 * Model picker: choose from a list of known models for the selected provider, or
   pick Custom to enter any model id your key can access
 * AI template generation on the source editor: pick a predefined page type or supply
   your own prompt
 * Generated templates embed the real field names discovered by Preview API, and
   are sanitized with wp_kses before insertion
 * Clicking Generate with AI now fetches an API sample automatically when none has
   been captured yet, so the model always has your real field names
 * Generated templates now use the plugin’s CSS classes for a consistent look instead
   of inline styles, and appear in the Live Preview immediately so you can keep 
   them or generate again

**Front-end styling**

 * Rendered output is now styled by a bundled, theme-scoped stylesheet, so every
   data source looks consistent across the site without styling templates individually
 * Styling covers 11 layout types: data table, card grid, list/feed, product listing,
   pricing table, team directory, article feed, stats dashboard, FAQ, event schedule,
   and testimonials
 * Data tables support composable modifiers — striped, bordered, compact, and hover
 * Pricing tables support a featured-tier highlight; cards, products, and team cards
   lift on hover; stats can show their numbers in the accent color; FAQs can be 
   boxed
 * Light and dark themes are handled automatically, and a small set of CSS custom
   properties (accent color, borders, radius, shadows) lets you rebrand everything
   at once
 * All rules are scoped to an `.effcncynxtdc` container so nothing leaks into your
   theme, and the stylesheet loads only on pages that actually render a source
 * New Appearance tab with an editable stylesheet: pre-loaded with the full built-
   in styles so every class and design token is visible, stored in the database (
   so it survives plugin updates) and used in place of the defaults, with a Reset
   to defaults button and a clear-to-revert fallback

**Caching and background refresh**

 * API responses are now cached, with a per-source Cache Lifetime (default 5 minutes,
   0 to disable)
 * Background refresh: stale data is served instantly while a refresh runs in a 
   separate process via WP-Cron, so only the first request for a source ever blocks
 * Stale-on-error: when a refresh fails, the last known good response keeps being
   served rather than rendering an empty template
 * New Caching tab with a site-wide Stale Grace Window (default 24 hours; 0 disables
   stale serving)
 * New Tracked Variants Per Source setting (default 20) for sources whose URL contains{{
   parameters}}
 * Warm variants are refreshed in the background; a new variant can only take a 
   slot from one idle for a week, so a spray of unique parameter values cannot displace
   real traffic
 * Added a Clear Cached Responses button on the Caching tab; saving a source, a 
   profile, or the cache settings also clears the cache
 * The Caching tab warns when DISABLE_WP_CRON would delay background refreshes

**Performance**

 * Failed requests are cached for 60 seconds, so an unreachable API can no longer
   exhaust PHP workers and take a site down
 * Responses are memoized per request, so the same URL is fetched once even though`
   the_content` runs several times per page
 * Content is only processed when the post actually contains a placeholder
 * Excerpt generation no longer triggers API requests; placeholders are stripped
   instead
 * Titles are checked for template syntax before any work is done
 * Request timeout reduced from 15s to 5s on the front end (the admin Preview API
   button still allows 15s)
 * Content and title filters no longer run in the admin

**Security**

 * Site-wide rate limit on uncached fetches for variants outside the warm set, closing
   an API amplification vector
 * Background refresh jobs carry only a source id and the query vars the URL uses—
   never a resolved URL, which can contain an API key, and which WordPress would
   store in plaintext in the autoloaded cron option

**Admin interface**

 * Editor layout reworked: the API response and its clickable fields now sit beside
   the template editor, so you build a template while looking at your data instead
   of scrolling between them
 * Live Template Preview: render the current template with a live API sample and
   the plugin’s own styles inside the editor, in an isolated frame, before saving—
   using the same engine and sanitizer as the front end
 * Progress indicators: fetching an API sample, generating a template with AI, and
   rendering the preview now show an animated progress bar or spinner with step-
   by-step status, so long operations no longer look frozen

**Fixed**

 * AI template generation now grounds on the real shape of your API response: fields
   that live inside an array are shown to the model as belonging to that loop, instead
   of being listed as though they sat at the top level
 * AI template generation now handles an API that returns a bare array of items,
   rather than generating a template with no loop at all
 * Section tags accept dot notation, so a nested array can be looped with `{{#data.
   items}}`; previously only top-level arrays could be looped
 * Clicking a loop field in the API response now inserts its full path, matching
   what the renderer resolves
 * A placeholder not wrapped in paragraph tags caused the request to be made and
   the raw placeholder left on the page
 * Authentication profiles and AI settings are no longer autoloaded on every request

**Uninstall**

 * Uninstall now removes the authentication profile and AI settings options, queued
   refresh jobs, and the variant registry

#### 1.0.1

 * Added support for Basic Authentication and API Key Authentication

#### 1.0.0

 * Initial release for WordPress.org
 * Modern admin interface with add/edit/delete source management
 * AJAX-powered settings with modal editor
 * API preview with automatic field discovery
 * Template helper toolbar with common patterns
 * WordPress shortcode support: [effcncynxtdc] and [effcncynxtdc_inline]
 * Input sanitization: wp_kses for templates, esc_url_raw for URLs, placeholder 
   validation
 * Mustache-style template engine with loops, conditionals, inverted sections, and
   dot notation
 * Zero external dependencies, PHP 8.0+ compatible
 * Full internationalization (i18n) with load_plugin_textdomain and translatable
   JavaScript strings
 * Automatic migration from pre-release storage format

## Meta

 *  Version **2.0.0**
 *  Last updated **2 weeks ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **6.9.5**
 *  PHP version ** 8.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/efficiencynext-data-connector/)
 * Tags
 * [AI](https://su.wordpress.org/plugins/tags/ai/)[api](https://su.wordpress.org/plugins/tags/api/)
   [rest](https://su.wordpress.org/plugins/tags/rest/)[template](https://su.wordpress.org/plugins/tags/template/)
 *  [Advanced View](https://su.wordpress.org/plugins/efficiencynext-data-connector/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/efficiencynext-data-connector/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/efficiencynext-data-connector/reviews/)

## Contributors

 *   [ EfficiencyNext ](https://profiles.wordpress.org/efficiencynext/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/efficiencynext-data-connector/)