I am currently developing my own Wordpress theme and recently worked on a custom one comments_template();. I read that using a method wp_list_comments();is best practice for pulling and displaying comments on a page / post. I have successfully configured the way comments are retrieved through this method and displayed.
I also read that using a method comment_form();is best practice for displaying a comment form. However, I'm really struggling with trying to tweak this. I am a bit confused between $ args, filters and actions.
Essentially, I would like to radically change parts of the comment form. How can I swap parts of the comment form while continuing to use best practice using the method comment_form();?
All I really need to do is wrap some existing tags <p>in <divs>. The list of updates I'm trying to do is given below:
- Connect the header
<h3>to<h2 class="comments-header">Tell us about you!</h2> - Form Form Fields
<fieldset></fieldset> - Wrap
<label>in<div class="label"></div> - Wrap
<input>in<div class="field"></div> - Do
<p class="form-allowed-tags"></p>before the comment <textarea>, not after - Change the Submit button form to use the item
<button>instead of<input>
See the code below for more details.
Default comment_form (); output code:
<div id="respond">
<h3 id="reply-title">Leave a Reply</h3>
<form action="http://localhost/.../wp-comments-post.php" method="post" id="commentform">
<p class="comment-notes">
Your email address will not be published. Required fields are marked
<span class="required">*</span>
</p>
<p class="comment-form-author">
<label for="author">Name</label>
<span class="required">*</span>
<input id="author" name="author" type="text" value="John Doe" size="30" aria-required="true">
</p>
<p class="comment-form-email">
<label for="email">Email</label>
<span class="required">*</span>
<input id="email" name="email" type="text" value="johndoe@dodgeit.com" size="30" aria-required="true">
</p>
<p class="comment-form-url">
<label for="url">Website</label>
<input id="url" name="url" type="text" value size="30">
</p>
<p class="comment-form-comment">
<label for="comment">Comment</label>
<textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea>
</p>
<p class="form-allowed-tags">
You may use these HTML tags and attributes...
</p>
<p class="form-submit">
<input name="submit" type="submit" id="submit" value="Post Comment">
<input type="hidden" name="comment_post_ID" value="22" id="comment_post_ID">
<input type="hidden" name="comment_parent" id="comment_parent" value="0">
</p>
</form>
</div>
The code I'm trying to print is:
<div id="respond">
<h2 class="comments-header">Tell us about you!</h2>
<form action="http://localhost/.../wp-comments-post.php" method="post" id="commentform">
<fieldset>
<div class="label"><label for="author">Name <span class="required">*</span></label></div>
<div class="field"><input id="author" name="author" type="text" value="<?php echo $comment_author_email; ?>" size="30" aria-required="true"></div>
</fieldset>
<fieldset>
<div class="label"><label for="email">E–mail (will not be published) <span class="required">*</span></label></div>
<div class="field"><input id="email" name="email" type="text" value="<?php echo $comment_author_email; ?>" size="30" aria-required="true"></div>
</fieldset>
<p class="form-allowed-tags">
You may use these HTML tags and attributes...
</p>
<fieldset>
<div class="field"><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></div>
</fieldset>
<p class="form-submit">
<button class="story-submit-btn" type="submit" name="submit" id="sub">Post your story</button>
<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" id="comment_post_ID">
<input type="hidden" name="comment_parent" id="comment_parent" value="0">
</p>
</form>
</div>
Any help is much appreciated!