Display a comment form for the given post.



Type Description
ID or Slug the ID or slug of your post
Array Options array, see table below
Boolean Set to true to have the value returned instead of echoed.

Options array

Name Value
template The form template to use.

Usage examples

The first argument must be either the ID of a post, or a unique post slug. Usually this will have been passed on the URL from a blog listing page.

<?php perch_blog_post_comment_form(perch_get('s')); ?>

An options array can be used. In this case we are passing in an alternate template.

perch_blog_post_comment_form(perch_get('s'), array(
    'template' => 'comment_form.html',

Pass true as the last argument to return the value rather than echoing it.

$comment = perch_blog_post_comment_form(perch_get('s'), array(
    'template' => 'comment_form.html',
), true);

Note: The form template

The comment form template must include a Perch form with id="comment" for the app to pick it up and process it as a comment.

<perch:form id="comment" method="post" app="perch_blog" class="comment-form" action="<perch:blog id="postURL">">
       <legend>Leave a comment</legend>
            <perch:label for="commentName">Name</perch:label>
            <perch:input type="text" id="commentName" required label="Name" antispam="name">
            <perch:error for="commentName" type="required">Required</perch:error>
            <perch:label for="commentEmail">Email</perch:label>
            <perch:input type="email" id="commentEmail" required label="Email" antispam="email">
            <perch:error for="commentEmail" type="required">Required</perch:error>
            <perch:error for="commentEmail" type="format">Check format of address</perch:error>
            <perch:label for="commentURL">Website</perch:label>
            <perch:input type="url" id="commentURL" placeholder="http://" label="URL" antispam="url">
            <perch:label for="commentHTML">Comment</perch:label>
            <perch:input type="textarea" id="commentHTML" required label="Message" antispam="body">
            <perch:error for="commentHTML" type="required">Required</perch:error>
            <perch:input type="hidden" id="postID" value="<perch:blog id="postID">">
            <perch:input type="submit" id="submitComment" value="Submit">
        <p>Thank you. Your comment has been submitted and will appear on the site once approved.</p>