I don’t collect email addresses or URLs for my comments, but never removed the default ‘Your email address will not be published.’ text from my comment form.
Removing the email address and URL fields was simple using the 'comment_form_default_fields'
hook with the following code in my theme’s functions.php
:
add_filter('comment_form_default_fields', 'remove_email_url'); function remove_email_url($fields) { if (isset($fields['url'])) { unset($fields['url']); } if (isset($fields['email'])) { unset($fields['email']); } return $fields; }
I couldn’t find a simple tutorial for editing other aspects of the comments form and I didn’t want to dig into the theme and edit the /wp-content/themes/twentytwelve/comment.php
file.
After poking around http://codex.wordpress.org/Function_Reference/comment_form and looking at the /wp-includes/comment-template.php
, I realized the difference between the 'comment_form_default_fields'
and 'comment_form_defaults'
hooks.
'comment_form_default_fields'
allows operation on the $fields
of the comment_form.
'comment_form_defaults'
allows modification on the $args
of the comment_form.
Addition to my theme’s functions.php
:
add_filter('comment_form_defaults', 'remove_publish_email'); function remove_publish_email($args) { $args['comment_notes_before'] = 'All comments are moderated.
'; return $args; }