Blog actions

Submit comments on blog posts with identity, moderation, and reply rules enforced server-side.

POST /comments/submit
{% form 'comment_submit' %}

Gated by the blog comments mode (disabled / everyone / registered customers) and moderation setting.

Form fields

post_slug Required

Blog post being commented on.

content Required

Comment body.

author_name Optional

Required for guests; logged-in customers default to their account name.

author_email Optional

Required for guests.

website Optional

Honeypot — must stay empty; bots that fill it are dropped.

_format Optional

Set to json when submitting with fetch; omit for the normal browser redirect.

Validation

Post must exist; comments mode, guest/customer identity, and moderation are enforced. Comments are flat — there is no reply threading.

Limits

Content 5000 characters; guest name 255; guest email 255; per-store hourly submission cap.

Response

{
  success:true,
  pending,
  response,
  user_errors
}

pending reflects moderation.

Whether comments are open comes from the store's blog settings. The merchant chooses who can comment — everyone, only logged-in customers, or nobody — and whether new comments wait for review before appearing. When comments are turned off, the whole surface goes quiet: existing comments stop appearing anywhere and counts show zero. Nothing is deleted; turning comments back on brings everything back as it was. Logged-in customers comment under their account name and email automatically; guests provide both with their comment. Comments are flat — there are no replies.