comment_form and comments_template and wp_list_comments in WordPress

I invested a good deal of time today customizing a comment form in a BuddyPress child theme.  My goals were to:

  1. Add a new field called, “Organization”
  2. Remove the “URL” field
  3. Remove the “Comment” text that appears above the corresponding textarea

The biggest learning for me was figuring out how comment_form, comments_template, and wp_list_comments fit together.

I learned a lot from Otto’s article on the subject, but that article didn’t address everything I needed to accomplish.  The following is what I did to accomplish the aforementioned goals.

In functions.php, I have the following:

// Change "Website" to "Organization" on the comment form.
add_filter('comment_form_default_fields','add_organization_to_comments');
function add_organization_to_comments($fields) {
    // New fields
    $fields['organization'] = '

'; $fields['author'] = '

' . ' ' . ( $req ? '*' : '' ) . '

'; $fields['email'] = ''; // Remove unwanted default fields unset($fields['url']); return $fields; } // save extra fields in database add_action( 'comment_post', 'save_comment' ); function save_comment($comment_id) { add_comment_meta( $comment_id, 'organization', esc_attr($_POST['organization']), true ); }

That’s it!

Tomorrow I will share how I displayed the “organization” field in the “comments” panel of the WordPress admin screen.

ttfn.

The Mighty Mo! Design Co.

2 Comments

  1. Otto on July 27, 2011 at 1:03 am

    Danger Will Robinson!

    This code leaves your site open to a XSS attack through the comments form. I highly recommend filtering the POSTed organization field.



  2. toby on August 8, 2011 at 3:42 am

    @Otto – Thanks for the heads-up there!

    All, I have incorporated Otto’s suggestion and added the esc_attr() function to the POSTs in the code above.



RSS From Toby’s Blog

  • Where uncertainty exists, don’t order specific.
    4 Idiot Case Studies with 2 simple age-old business lessons. The post Where uncertainty exists, don’t order specific. appeared first on Toby Cryns, WordPress Trainer in Minneapolis, MN.
  • “Now THAT was a good meeting!”
    A single effective meeting can change the course of history for a company. Imagine if you could lead effective meetings EVERY DAY! You can, but it takes curiosity & practice. This article is a good place to start your journey to a more effective you. The post “Now THAT was a good meeting!” appeared first […]
  • Never Respond to RFPs & Custom Proposal Requests
    Y'all who work at normal 9-5 jobs don't need to deal with the B.S. that is an RFP process (or rather you get paid to deal with it). But us freelancers gotta deal with a whole big bag of schtuff when it comes to custom proposals. Here's my quick-and-dirty RFP filtering process that I use […]

More posts from themightymo.com

My WordPress Maintenance Process

By The Mighty Mo! Design Co. | March 2, 2023

A few quick things: My WordPress Maintenance Process Demo, Part 1 Transcript: You’ll see immediately after logging in, you see the 11 updates needed as well as some messages. I’m just gonna quickly read. It looks like this. I don’t need to worry about. Are you enjoying Monster Insights? Not really <laugh>. What’s to enjoy…

How to style FacetWP checkbox hierarchy results using jQuery

By The Mighty Mo! Design Co. | February 21, 2023

I recently invested many hours trying to target and style a FacetWP taxonomy facet that uses hierarchy for display. It should be noted that you can use straight up CSS for some styling (and should use css wherever possible), but sometimes you need javascript to target parent elements and such. I thought I’d document the…

How to fix SpinupWP ballooning disk space issue

By The Mighty Mo! Design Co. | February 1, 2023

A site we host on Digital Ocean recently went down. It took me a lot of troubleshooting and digging before realizing that the issue was that our disk space was maxed out on Digital Ocean. The site in question needs ~20gb of space, so our 50gb server should be plenty. But alas, there it was…

RSS From Toby’s Blog

  • Where uncertainty exists, don’t order specific.
    4 Idiot Case Studies with 2 simple age-old business lessons. The post Where uncertainty exists, don’t order specific. appeared first on Toby Cryns, WordPress Trainer in Minneapolis, MN.
  • “Now THAT was a good meeting!”
    A single effective meeting can change the course of history for a company. Imagine if you could lead effective meetings EVERY DAY! You can, but it takes curiosity & practice. This article is a good place to start your journey to a more effective you. The post “Now THAT was a good meeting!” appeared first […]
  • Never Respond to RFPs & Custom Proposal Requests
    Y'all who work at normal 9-5 jobs don't need to deal with the B.S. that is an RFP process (or rather you get paid to deal with it). But us freelancers gotta deal with a whole big bag of schtuff when it comes to custom proposals. Here's my quick-and-dirty RFP filtering process that I use […]