Code Engine – PHP Snippets, AI Functions & Automation for WordPress
Code Engine is a snippets manager that doesn’t stop at snippets. Yes, it runs your PHP and JavaScript exactly where and when you want: frontend, backend, on a schedule, or inside your content. But its real magic is what happens after you write a function: the same little piece of code instantly becomes a tool your AI chatbots can call, a step you can drag into a visual workflow, and an endpoint the outside world can trigger. One function, three superpowers. Most “code snippets” plugins stop at a textarea and a toggle. Code Engine treats your functions as first-class building blocks for the whole Meow Apps ecosystem, and for anything that can speak REST. Think out of the box, let your creativity flow, because the possibilities really are endless! ✨ For more, check the official website and come say hi on the Discord. Quick Intro Hello! ☀️ I built Code Engine because I was tired of pasting mystery snippets into functions.php and praying. I wanted a place where small bits of code are organized, safe, AI-assisted, and reusable everywhere. Here’s the idea. You write a function (or let the AI write it for you from a plain-English description). That function immediately shows up in three places: AI Engine: your chatbots and MCP clients (Claude, ChatGPT, Claude Code) can call it as a tool, with real arguments. Ask “how many orders shipped today?” and your chatbot runs your function to answer. Workflow Engine: your function appears in the step picker as its very own block. Drag it onto the canvas, wire it between an AI step and a Slack step, done. No glue code. REST / External tools: give it a secure endpoint and a token, then trigger it from Make.com, n8n, Zapier, a cron job, or a webhook. You never wrote an “integration.” You just wrote a function. Code Engine did the rest. 🤝 Core Modules 🧩 Snippets Manager Backend, Frontend, Persistent, Scheduled, Functions, and in-content (PHP/JS) snippets, all in one clean dashboard with tags, search, scope filters, and priorities. 🪄 AI-Assisted Coding Describe what you want in plain English and let AI Engine write the snippet: code, name, arguments, and scope included. Refine existing code or implement it straight from your comments. 🤖 Functions as AI Tools Every Function snippet becomes a function-calling tool and an MCP tool, so your AI Engine chatbots (and external AI agents) can actually do things on your site, not just talk. 🔀 Functions as Workflow Steps Workflow Engine surfaces each of your functions as its own draggable step. Your custom logic becomes a first-class citizen on the automation canvas. 🌐 External Access (REST) Expose any runnable snippet through a secured REST endpoint with a bearer token. Perfect for Make.com, n8n, webhooks, and scheduled external jobs. 🛡️ Safe Mode A snippet that throws a fatal error is automatically caught and disabled before it can take your site down. Code with confidence. ⏰ Scheduling Run a snippet daily at a chosen time via WP-Cron (reports, cleanups, syncs) without touching the server crontab. 🧱 Code Blocks & Shortcodes (Pro) Drop PHP or JS straight into a post or page with a Gutenberg block or the [code-engine] shortcode, with safety guards. 🧩 Snippets, the way they should be Code Engine organizes your code by scope, so each snippet runs exactly where it belongs: Persistent: runs everywhere (frontend and backend). Your everyday “add this to functions.php” code, but managed. Frontend: runs only on the public site. Backend: runs only in the admin. Function: a named, callable function with typed arguments and defaults. This is the reusable building block (see below). Scheduled: runs on a WP-Cron schedule, at the hour and minute you pick. Content (PHP / JS): runs inside a specific post or page, via a Gutenberg Code Block or the [code-engine] shortcode (Pro). Everything is searchable, taggable, sortable by priority, and importable/exportable. The CodeMirror editor gives you proper syntax highlighting and keyboard shortcuts (Cmd+S to save, Cmd+Enter to run). A nikic/php-parser pass validates your PHP before it ever runs. 🪄 Let AI write it for you Don’t feel like writing the boilerplate? Describe the snippet in plain language and Code Engine, powered by AI Engine, generates the whole thing: the code, a sensible name, a description, the right scope, and, for functions, the argument list with names, types, and defaults. Already have code? Ask the AI to modify it from a prompt, or write a few comments describing what you want and let it fill in the implementation. It’s pair programming, right inside your dashboard. ✨ The big idea: write once, use everywhere This is what makes Code Engine different. A Function snippet is not just code you call from other code. It’s a reusable capability that the rest of your stack can plug into. The moment you save it, the same function is available in three places at once: 1. As an AI tool, for chatbots and AI agents With AI Engine active, your functions are exposed through function calling and over MCP (Model Context Protocol). Your on-site chatbot can run them mid-conversation, and external AI agents (Claude, Claude Code, ChatGPT, OpenClaw) can call them too. Want a chatbot that checks stock, looks up a booking, or kicks off a process? Write the function; the chatbot gains the skill. 2. As a workflow step, for automation With Workflow Engine, every active function shows up in the Add-step picker as its own block, named after your snippet, with one input per argument. Drag it onto the canvas and wire it between other steps: an AI step that summarizes, your function that saves, a Social Engine step that posts. There’s also a generic “Execute snippet (by ID / by name)” step when you want to call one dynamically. You never write integration code; your function is the integration. 3. As a REST endpoint, for the outside world Give a snippet a custom endpoint name and a bearer token, and it’s instantly callable from anywhere: POST /wp-json/code-engine/v1/snippets-endpoint/your-endpoint Pass arguments as JSON in the body, secure it with a token, and trigger it from Make.com, n8n, Zapier, GitHub Actions, or a humble cron job. Automation without a middleware bill. 🛡️ Safe by default Running arbitrary code is powerful, so Code Engine takes safety seriously: Safe Mode catches fatal errors and auto-disables the offending snippet, so a typo never white-screens your site. REST whitelisting means global snippets only run on trusted REST routes by default, so you choose what to open up. Per-snippet tokens secure your external endpoints. Validation with a real PHP parser before code is saved. For developers who want fewer guardrails, there’s a “Bypass REST Security” option and filters (mwcode_rest_authorized, mwcode_rest_whitelist) to tailor exactly what’s allowed. Works beautifully with the Meow Apps family Code Engine is one engine in a connected set, each one useful alone, magical together: AI Engine: chatbots, content generation, and MCP. Turns your functions into AI tools. Workflow Engine: visual automation. Turns your functions into draggable steps. SEO Engine: smart, lightweight AI SEO. Social Engine: schedule and automate social posts. Why Code Engine? Reusable, not throwaway Other snippet plugins give you a place to paste code. Code Engine gives you a place to build capabilities that your AI, your workflows, and your external tools can all use. Native to WordPress Clean, fast, and built the WordPress way. No clunky external dashboards, no bloat. AI-native Write snippets with AI, expose them to AI. The whole loop lives in your wp-admin. Developer friendly REST API, MCP tools, function calling, scheduling, import/export, and plenty of filters to hook into. Cared for Part of the Meow Apps family, with regular updates and a real human behind it. 💕
Top keywords
- code32×2.48%
- engine25×1.94%
- ai22×1.71%
- function18×1.40%
- rest13×1.01%
- snippet13×1.01%
- code engine11×0.85%
- functions11×0.85%
- write10×0.78%
- runs9×0.70%
- snippets9×0.70%
- step9×0.70%
HandL AI Connector Access Control
Know when your WordPress plugins use AI. See activity. Control access. Track estimated spend. Avoid surprise AI bills See estimated spend by plugin. Add your own provider rates. Estimates are not bills. This plugin does not sell AI usage or add AI charges. Your AI provider controls actual billing. What it does Shows which plugin made each AI Client request. Shows whether each request was allowed or blocked. Shows the AI task, provider, model, tokens, and estimated spend. Lets you allow or deny each plugin. Lets you control text, image, speech, and video separately. Includes Learn mode so you can watch first. Includes Emergency stop for urgent shutdowns. Who it is for WordPress site owners. WordPress administrators. Multisite teams that manage rules one site at a time. No developer experience is required. How it works Install the plugin. Open Settings → HandL AI Connector Access Control. Turn on Learn mode. Review Activity. Add rules after you know which plugins need AI. Everyday controls Plugin rules: Allow, deny, or use the site default. Temporary allow: Optional expiry on Allow rules (auto-reverts to the site default). AI type rules: Control text, image, speech, and video separately. Learn mode: Record activity without enforcing deny rules. Emergency stop: Block AI Client calls across the site. Blocked AI tools: Stop prompts that offer blocked tools. Role gate: Choose which WordPress roles may start AI operations. More controls Denial alerts: Get an optional email when a request is blocked. Weekly report: Review activity, denials, and estimated spend by email. Estimated spend: Use token counts and your provider rates. Plugin AI profile: Open a plugin from Activity or Dashboard estimated spend to see its usage, incidents, estimated spend alerts, and current rules in one read-only view. Rule changes and CSV exports stay on their existing screens. Rules transfer: Export or import rules as JSON. Activity limits: Control how many entries are saved and for how long. Audit report: Print a governance summary (rules + activity) as PDF from your browser. Multisite overview: View status and activity for each site. WP-CLI: List and update AI type rules from the command line. Important limits AI Client calls are allowed by default until you change a rule. This plugin governs calls made through the WordPress AI Client. Version 1.2.0 can observe some direct AI connections. It does not block them. The known-provider list is not complete. Caller identification is best effort. Experimental model force is not a spending guarantee. Activity may be empty when WordPress disables AI site-wide. Privacy Activity stays on your WordPress site by default. Logging, denial alerts, and webhooks are optional. The weekly report is selected by default. It sends only while logging or Learn mode is on. See Privacy / Data below for every stored or transmitted field. Privacy / Data By default, this plugin does not send data to HandL Digital. Features that send data outside your site are optional and require an explicit setting or onboarding choice. The weekly report uses your site’s configured email system and runs only while logging or Learn mode is on. If you enable recent-call logging in Settings → HandL AI Connector Access Control, it stores a local log in the WordPress options table containing: Timestamp Allow/deny decision (AI Client rows) or observe (direct-HTTP AI observations) AI Client operation (e.g. generate_text, is_supported_for_text_generation) — or direct_http for shadow observations Capability family (text / image / speech / tts / video / unknown) for AI Client rows Provider and model when set on the prompt builder (or model preferences) In learn mode: whether a configured model pin matched, and the provider/model you pinned Truncated prompt preview and selected generation config (best-effort; AI Client rows only) Input and output token counts when the AI Client completes a generation (best-effort) Best-effort calling plugin (plugin basename) and source file Current user id and display name Initiating WordPress role slug(s) when a user context exists (role gate / audit; no usernames beyond display name already listed) Full request URI (including query string, kept only on this site) for AI Client admin-request context For direct-HTTP AI observations only: request host and path (query string stripped). No request body, no Authorization headers, no API keys. Channel label direct_http and matched provider id when known. Logs are kept as a single shared entry-based ring buffer (default 200 entries, configurable 20–1000) for both AI Client rows and direct-HTTP AI observations. An optional maximum log age (days) setting also drops rows older than the threshold on the next read or append; when both the count cap and the time-based TTL apply, the stricter limit wins. Leave maximum age empty for entry-count-only retention. Repeated direct-HTTP calls from the same attributed plugin + host (or the same unattributed file + host) that stay active within ~5 minutes of idle time are collapsed into one row whose count is the number of HTTP calls (same unit as AI Client rows). Active clusters move to the newest slot so a chatty bypass does not erase the rest of the log, and the log does not drop the chatty cluster ahead of idle rows. If you set an estimated spend alert threshold (Activity → Estimated spend alerts), the plugin may send a message via WordPress wp_mail when the retained log’s estimated total first crosses that amount (site-wide or per-plugin). The email includes the threshold, current estimated total, dated log window, and (for per-plugin alerts) the plugin name. It states that the figure is estimated (token × rate placeholder), not billing. No prompt text or user identity is included. Empty thresholds never send mail. Delivery failures are contained and never change allow/deny. If you enable denial email alerts, the plugin sends a message via WordPress wp_mail when enforcement blocks a prompt (immediate rate-limited mail, or an hourly digest). The recipient is the address you configure, or the site admin_email if left empty — that may be any address you enter, and mail is delivered through whatever transport your site uses (core PHP mail or an SMTP / transactional-mail plugin). Alert messages include: Timestamp Calling plugin (best-effort basename) AI Client operation and capability family Denial reason and any matched blocked tools Provider and model when known (may be labeled inferred) Request path only (query string is stripped before mail; full URI stays in the local log if logging is enabled) Alert mail does not include prompt preview or user identity. Digest rows waiting to send are stored in a local options queue (path-only URI) and are removed when alerts are turned off or the plugin is uninstalled. If you enable shadow-AI email alerts (Activity tab; off by default), the plugin sends a message via WordPress wp_mail the first time a given attributed plugin+host (or unattributed file+host) pair appears as a direct_http observe row in the retained log window — immediate rate-limited mail, or the same hourly digest queue, using the same recipient and mode as denial alerts. Messages are explicitly labeled observe / not blocked and include: Timestamp Best-effort calling plugin, file, or method Request host Path only (query string stripped — same redaction as denial alerts) Shadow-AI alerts do not block HTTP and are not posted to the webhook. They require logging or learn mode, and are suppressed when AI is disabled site-wide via wp_supports_ai. Chatty-cluster collapse (~5 minutes idle) and the retained-window pair check prevent duplicate alerts for the same pair. If you also set a Webhook URL (Activity → denial alert settings), the plugin POSTs a generic JSON body with the same fields as the denial email alert to that http(s) URL whenever a denial alert would fire (same alert_on_deny gate, rate limit, and immediate/digest mode — not a separate toggle). Delivery uses WordPress wp_remote_post (timeouts/non-2xx are contained like wp_mail failures and never change allow/deny). The URL is an intentional admin-supplied outbound integration (same trust model as the alert recipient). Empty URL means no webhook POST is attempted. A Send test webhook control posts a sample payload clearly labeled as a test (bypasses rate limiting). Weekly report email and shadow-AI observe alerts are not sent to the webhook in this release. If you enable the weekly report email (Activity tab), the plugin sends one message per week via WordPress wp_mail with Dashboard-style aggregates from the retained local log. This is the first surface where retained log data can leave the WordPress site (through your site’s mail transport into an inbox). The weekly report includes only: Dated window from the oldest and newest retained log timestamps (self-dating so a late WP-cron send stays honest) Coverage call counts (through the AI Client vs outside — not governed by these rules) Deny count in the retained window; default policy and learn-mode / kill-switch state labels Estimated spend total and top plugins by estimated $ (token × rate placeholders — not billing) Pin-hold counts when experimental force rules are configured Plugin display names (or basenames) for top estimated-spend rows Weekly report mail does not include prompt preview, user identity, request paths, hosts, denial reason detail rows, or any per-call URI. Recipient is the same address as denial alerts (or site admin_email if empty). Every email includes a link to turn the report off. The weekly cron is cleared when the report is disabled, logging is off, or the plugin is uninstalled. During first-run setup, you can optionally agree to receive product news and related offers from HandL Digital. The checkbox is off by default. If you agree and finish setup, the plugin sends your alert email address, site URL, plugin version, and consent time to HandL Digital. HandL Digital stores this information on its server for those emails. If you leave the box unchecked, the plugin sends nothing to HandL Digital for this purpose. You can unsubscribe at any time by emailing
[email protected]. This registration is separate from denial alerts, webhooks, and the weekly report.