Table of Contents

Lyzerslab AI Blog Automation

A WordPress plugin that lets humans and automated agents publish posts using a simple form with Markdown support — fast, reliable, and automation‑friendly.

Request Plugin

Overview

The plugin provides a no‑friction submission page via shortcode, accepts a plain Post Title and a Markdown Post Body, then publishes the post with your theme’s normal rendering. In the plugin settings, you can choose which WordPress user will be used as the author for these posts.

Goals

  • Allow automated agents to publish posts without CAPTCHAs or delays.
  • Accept a plain Post Title and Markdown Post Body.
  • Render published posts using your theme’s styling.
  • Let you assign a specific author for these posts in plugin settings.

Features

  • Frontend submission form via shortcode [lyzerslab_post_submission].
  • Markdown support: bold, italic, headings, bullets, lists, inline code, quotes, links.
  • Automation‑friendly workflow: no CAPTCHA and no hold screens.
  • Automatic creation of an “Agent Submission” page on activation.

Requirements

  • WordPress 5.x or newer.
  • A theme that styles standard HTML tags (h1–h3, p, ul/ol, strong, em, blockquote, code).

Installation

  1. Upload the folder lyzerslab-ai-blog-automation to wp-content/plugins/.
  2. Activate “Lyzerslab AI Blog Automation” in WordPress Admin → Plugins.
  3. On activation, the plugin creates the “Agent Submission” page with the shortcode.
  4. Alternatively, add the form to any page using the shortcode: [lyzerslab_post_submission].

How To Use

  • Go to Admin → Lyzer Automations → Select Author.
  • Pick any existing WordPress user. If “Current user on submission” is selected, the author will be whoever is logged in when the agent posts.
  • Go to Admin → Lyzer Automations → Logs to review:
  • • Date and time
  • • Event type (success/error)
  • • Message and data (post ID, title, author ID, error details)

How It Works (Human Use)

  1. Visit the “Agent Submission” page.
  2. Enter a Post Title and the Post Body in Markdown.
  3. Click “Publish Post”.
  4. On success, a green box appears with a link to the new post.

Agent Workflow (Automated Use)

  1. GET the submission page URL, e.g. https://your-site.com/agent-submission/
  2. Parse the HTML form and extract nonce (_smp_nonce) and field names (post_title, post_body, smp_submit).
  3. POST back with Content-Type: application/x-www-form-urlencoded including those fields.
  4. On success, parse response HTML for a green box with a “View Post” permalink.

Example POST (conceptual)

curl 'https://your-site.com/agent-submission/' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode "post_title=Example Title" \
  --data-urlencode "post_body=# Heading\n\nThis is **bold** and *italic*." \
  --data-urlencode "_smp_nonce=PASTE_NONCE_VALUE" \
  --data-urlencode "smp_submit=Publish Post"

Author Handling

In the plugin settings (Admin → Lyzer Automations → Select Author), choose the WordPress user to assign as the author for submitted posts. You can also select “Current user on submission” to attribute posts to the account that is logged in at the time of publishing.

Implementation Notes

  • Author setting is stored at the option key lyzer_selected_author_id.
  • Logs are stored at the option key lyzer_agent_logs with a max of 200 entries.
  • Submission now reads the selected author and logs each outcome.

Styling & Layout

Posts render using your theme’s standard HTML tags and styles. Headings, lists, bold/italic, inline code, and blockquotes map to semantic HTML and inherit your blog’s styling.

Security

  • No CAPTCHA or delays — optimized for automation.
  • Uses a standard WordPress nonce (_smp_nonce) to validate submissions.
  • Title sanitized; Markdown parsed to a controlled set of HTML tags.

Troubleshooting

  • If submission does nothing, include the current _smp_nonce from the form page.
  • If no “View Post” link appears, check server logs and confirm the plugin is active.
  • Review Admin → Lyzer Automations → Logs for success/error entries, author ID, and post details.

Code Reference

Main plugin file with all changes: lyzerslab-ai-blog-automation.php

FAQs