Key Takeaways
- Customizing your WordPress comments section can be easily achieved through simple code snippets, eliminating the need for extra plugins that can bloat your site.
- The article provides five useful WordPress snippets for displaying the number of comments/trackbacks, customizing the default avatar, removing URL or other fields from the contact form, preventing your blog from pinging itself, and changing the “Leave a Reply” text.
- Despite being written for the Twenty Eleven theme, these snippets can be adapted to other themes with potential changes in file names, offering a flexible way to enhance user engagement, improve aesthetics, and better control comment moderation.
Display the Number of Comments/Trackbacks
Most templates begin their comments section with a message on how many comments there are. But what if you also want to display a comment tally somewhere else on the post, like the top? This code snippet lets you place a comment tally and message anywhere in the single page loop, and customize which message comes back for zero, one, and multiple responses. Template file: content-single.php Raw Code:<?php comments_number( 'no responses', 'one response', '% responses' ); ?>.
How to Use it:
The raw code shows the most basic messages to display for zero, one, and multiple messages. The following example shows the message wrapped in a p
tag with a short message (“Join the discussion!”) preceding the dynamic text. Simply switch out the raw code messages for what you want to say. Perhaps you want to be more conversational, like below:
<p> Join the discussion! <?php comments_number( 'You get to have the first comment!', 'One comment so far - what can you add?', '% people have commented - add your two cents!' ); ?> </p>
Example output:
no comments: “You get to have the first comment!”
one comment: “One comment so far – what can you add?”
multiple comments: “3 people have commented – add your two cents!”
Tips:
- If the code breaks your page, check to see if you accidentally put apostrophes in the string text. If so, use the following HTML code to display apostrophes:
’
- Building on this knowledge, you can easily tweak the way your comments section displays its text. Just open your comments.php file and search for the text that is currently displaying (default for TwentyEleven begins with “One thought on…”, and replace the string text with your own.
Customize Your Default Avatar
Many blog visitors aren’t registered on Gravatar, so their avatar will show whatever your default is set as. If your comments section needs a little more personality than the ever-present Mystery Man, why not create one unique to your site? Template file: functions.php Raw Code:add_filter( 'avatar_defaults', 'new_default_avatar' ); function new_default_avatar ( $avatar_defaults ) { $new_avatar_url = get_bloginfo( 'template_directory' ) . '/images/new_default_avatar.png'; $avatar_defaults[$new_avatar_url] = 'My Custom Avatar'; return $avatar_defaults; }
How to Use it:
Create your image at 60px by 60px, and upload it to the images folder in your theme.
In the code, replace the image path and file name (‘/images/new_default_avatar.png’) with your own. If you want to name your default avatar, you can do so by replacing “Your New Default Avatar” with your chosen name. This name will only show up in your settings page, which we’re about to go to.
On your Dashboard, go to Settings > Discussion, where you should see your new custom avatar. Select it, click Save, and enjoy!
Tips:
- If you must place your image somewhere other than the main template directory, or for some reason it won’t link properly, try replacing
get_bloginfo( 'template_directory' ) . '/images/new_default_avatar.png';
with the full (http:// and all) URL leading to that image. - If you’d like to style the avatar with CSS, open your stylesheet and add a style for:
.commentlist .avatar {}
Remove URL or Other Fields from Contact Form
The default fields in most contact forms are Name, Email, Website, and Comment. While all of those fields have excellent reasons for being there, some would prefer to leave out certain ones — most famously the website field, which spammers often try to take advantage of. This easy amendment to your functions.php file will take care of those unwanted fields in a flash! Template file: functions.php Raw Code:add_filter('comment_form_default_fields', 'remove_url'); function remove_url($val) { $val['url'] = ''; return $val; }
How to use it:
This code, pasted as is, will remove the website field. Other fields can be removed by replacing ‘url’ with ’email’ or ‘author’ (name) in all three places it exists in the code.
Learn more about this code:
http://codex.wordpress.org/Function_Reference/comment_form
Keep Your Blog from Pinging Itself
It’s nice to get trackbacks from sites that have linked to your article. It’s not nice to get pinged every time you link within your own website. Before you reach for that plugin, try adding this simple snippet to your functions. Template file: functions.php Raw Code:function disable_self_ping( &$links ) { foreach ( $links as $l => $link ) if ( 0 === strpos( $link, get_option( 'home' ) ) ) unset($links[$l]); } add_action( 'pre_ping', 'disable_self_ping' );
How to Use it:
Simply paste the code at the end of your functions.php file. It doesn’t get much simpler!
Learn more about this code:
http://wp-snippets.com/disable-self-trackbacks/
Change “Leave a Reply” Text
If “Leave a Reply” sounds little cold and impersonal to you, you might consider changing it up with this code: Template file: comments.php Raw Code:<?php comment_form(array('title_reply'=>'Put in Your Two Cents')); ?>
How to Use it:
In your theme folder’s comments.php file, search for the <?php comment_form(); ?>
line close to the bottom. Replace it with the raw code above.
Now, simply change out ‘Put in Your Two Cents’ with whatever text you want to show there.
Learn more about this code:
http://wp-snippets.com/disable-self-trackbacks/
Have fun with these snippets; hopefully they give your comments area that extra zing!
Frequently Asked Questions (FAQs) about Customizing WordPress Comments with Code Snippets
What are the benefits of using code snippets to customize WordPress comments?
Code snippets provide a flexible and efficient way to customize WordPress comments. They allow you to add unique functionalities and features to your comments section that may not be available with standard WordPress settings or plugins. This can enhance user engagement, improve website aesthetics, and provide better control over comment moderation. Additionally, using code snippets can improve your website’s performance as they are generally lighter and faster than plugins.
How can I add a code snippet to my WordPress site?
To add a code snippet to your WordPress site, you can use the Code Snippets plugin available on WordPress.org. After installing and activating the plugin, navigate to the ‘Snippets’ section in your WordPress dashboard. Here, you can add new snippets, give them a title, and paste your code. Remember to save and activate the snippet for it to work on your site.
Can I use code snippets to customize the appearance of my comments section?
Yes, you can use code snippets to customize the appearance of your comments section. This can include changes to the layout, color scheme, typography, and more. However, this requires a good understanding of CSS and PHP. Always test your changes on a staging site before applying them to your live site.
How can I use code snippets to improve comment moderation?
Code snippets can be used to add various moderation features to your comments section. For example, you can use a snippet to automatically close comments after a certain period, limit the number of links in a comment, or block comments containing specific words. These features can help reduce spam and maintain a high-quality comments section.
Are there any risks associated with using code snippets?
While code snippets can provide powerful customization options, they also come with some risks. Incorrect or malicious code can break your site or make it vulnerable to attacks. Therefore, it’s important to only use code from trusted sources and to always backup your site before making changes.
Can I use code snippets to add new features to my comments section?
Yes, code snippets can be used to add a variety of new features to your comments section. This can include social media sharing buttons, comment voting systems, and more. However, adding new features requires a good understanding of PHP and JavaScript.
How can I troubleshoot issues with my code snippets?
If a code snippet causes issues on your site, the first step is to deactivate the snippet. If the issue persists, you may need to restore a previous backup of your site. For troubleshooting, it’s helpful to use a staging site where you can safely test your snippets.
Can I use code snippets to customize the comments form?
Yes, you can use code snippets to customize the comments form on your WordPress site. This can include changes to the form fields, layout, and more. However, this requires a good understanding of PHP and HTML.
How can I manage multiple code snippets on my site?
The Code Snippets plugin provides a convenient way to manage multiple snippets on your site. It allows you to add, edit, deactivate, and delete snippets from your WordPress dashboard. You can also categorize your snippets for easier management.
Can I use code snippets to customize the comments notification emails?
Yes, you can use code snippets to customize the comments notification emails sent by WordPress. This can include changes to the email content, layout, and more. However, this requires a good understanding of PHP and HTML.
Avi Milstein works for Matchrelevant.com, an IT Staffing firm that serves early stage venture-backed start-ups in the social, mobile and web application sectors.