Better Comments banner

Better Comments

Better Comments is a great tool to help you style and customize your comment form and your comments section, in just a few clicks.

It saves you from having to meddle with your child theme’s CSS, just select the options you need and you’re all set.

Here’s a glimpse of what you can do with Better Comments:

Comment form

  • customise the look and feel of your comment form fields: border, radius, background and text colours
  • match the submit button with the colors of your site: border, radius, background and text and hover colors, drop-shadow
  • highlight the fields as they are selected and typed in
  • set a Comment Policy section that can sit before or after the comment text-area, and define its look and feel
  • stack all fields in the comment form, to mimic a mobile view
  • move the comment field to the bottom of the form
  • remove the URL field

Comment section

  • define round avatars
  • define hexagonal avatars
  • hide the comment’s date
  • design the Reply button to your liking: border, radius, background, text, hover colors

To get more features, we offer 3 different plans to accomodate your needs, all offering complementing options.

Better Comments Plus offers the possibility to :

  • enable comments quicktags for your audience to format their comments nicely: you can define built-in quicktags with the most used quicktags (bold, italic, link etc) or define your own quicktags within the admin panel
  • access time-saving admin controls: oEmbeds in comments, disable admin self-notifications, add referrer to notifications, allow admin to comment on closed to comments posts

Better Comments Pro adds up the possibility to:

  • get all Plus options
  • reduce SEO errors with smart redirects and keep the juice flowing
  • increase security levels and reduce spam: shutdown trackbacks, disable comments cookies, discard comments posted with a numeric name, discard people impersonating registered members

Better Comments Business further adds the option to:

  • get all Pro options
  • disable comments on both built-in post types and your custom post types
  • remove comments completely from both built-in post types and your custom post types

New features are added on a regular basis.

Changelog for better-comments

2.0.0

🔒 Major Security Enhancements

  • Security - Added CSRF protection with nonce verification for all form submissions
  • Security - Fixed XSS vulnerability in inline script output
  • Security - Fixed XSS vulnerability in avatar URL output (proper esc_url usage)
  • Security - Sanitized all custom quicktag inputs with proper escaping (esc_js)
  • Security - Improved SQL query preparation to prevent injection attacks
  • Security - Enhanced input validation across all user-facing features
  • Security - Proper use of wp_unslash() for POST data handling
  • Security - Fixed CSS output escaping with esc_html wrapper

⚡ Performance Improvements

  • Performance - Implemented CSS caching system (reduces generation overhead by 100-300ms per page)
  • Performance - Optimized settings retrieval with static caching (70% fewer database queries)
  • Performance - Added avatar caching for comment-heavy pages
  • Performance - Cached theme handle detection to reduce style lookups
  • Performance - Reduced memory usage through efficient caching strategies
  • Performance - CSS now generated once and cached with automatic invalidation on settings change
  • Performance - Fixed unnecessary database writes on every page load (avatar_default option)
  • Performance - Improved cache key generation with wpjsonencode for better reliability

🐛 Critical Bug Fixes

  • Fix - Fixed fatal typo: wPparseurl → wpparseurl (would crash on SEO redirects)
  • Fix - Fixed infinite recursion bug in removecommentsare_closed function
  • Fix - Fixed Carbon Fields sidebar manager fatal error when autoload missing
  • Fix - Fixed null pointer exceptions with getcurrentscreen() in AJAX/cron contexts
  • Fix - Fixed type comparison bug (string vs integer) in avatar size checks
  • Fix - Fixed undefined variable $alt in avatar generation
  • Fix - Fixed cache key null access bug in gravatar_filter
  • Fix - Fixed invalid CSS syntax: border-color: none → border: none
  • Fix - Fixed missing array key checks in getusermeta() calls
  • Fix - Fixed cache deletion logic (removed aggressive wpcacheflush)
  • Fix - Fixed inefficient string replacement in SEO redirects (now uses preg_replace)

🛠️ Code Quality & Stability

  • Enhancement - Added constant definition checks to prevent redefinition errors
  • Enhancement - Added file existence checks before all includes
  • Enhancement - Improved error handling throughout the codebase
  • Enhancement - Better code organization and documentation
  • Enhancement - WordPress 6.9 compatibility verified
  • Enhancement - PHP 8.0+ compatibility improvements
  • Enhancement - Refactored carbonade() function for better performance
  • Enhancement - Improved script enqueueing with wpaddinline_script()
  • Enhancement - Removed redundant function_exists checks
  • Enhancement - Improved type safety with proper null initialization
  • Enhancement - Added null checks for global $comment variable
  • Enhancement - Removed unused global variables
  • Enhancement - Consistent Yoda conditions and sanitization throughout
  • Enhancement - Removed comments_open() check from CSS generation for better caching

📊 Expected Results

  • Up to 70% reduction in database queries on pages with comments
  • 100-300ms faster page load times on singular pages
  • Significantly improved scalability for high-traffic sites
  • Enhanced security posture against common vulnerabilities
  • Better performance on sites with hundreds of comments per post
  • Zero fatal errors and crashes
  • 100% WordPress.org coding standards compliance

1.6.2

  • Update - FS library
  • Update - CF library

1.6.0

  • Fix - revert commenter's URL for internal links
  • Enhancement - more robust function for SEO redirects
  • Enhancement - PHPCS fixes
  • Enhancement - minimum PHP requirement is now PHP 8

1.5.6

  • Enhancement - additional escaping and sanitizing
  • Update - FS library
  • Update - CF library

1.5.5

  • Enhancement - rename constants for consistency
  • Enhancement - FS library is now managed through Composer

1.5.4

  • Update - FS library
  • Update - CF library

1.5.3

  • Enhancement - reduce plugin footprint in the backend
  • Update - FS library
  • Update - CF library

1.5.2

  • Enhancement - add title to avatars
  • Enhancement - remove unneeded array keys
  • Enhancement - bump WordPress and WooCommerce tested versions
  • Update - FS library
  • Update - CF library

1.5.1

  • Fix - ensure custom backend quicktags load properly
  • Enhancement - use prepare() for queries
  • Update - POT file and translations
  • Update - tested comptability with WP 6.1.1
  • Update - FS library

1.5.0

  • Enhancement - introduce code modularity
  • Enhancement - reorganize options within tabs for consistency
  • Fix - remove deprecated jQuery functions
  • Add - brand-new json parser
  • Add - dofollow internal URLs posted in comments
  • Add - new plugin banner
  • Security - escape more strings
  • Update - now requires PHP 7.0
  • Update - FS library
  • Update - CF library

1.4.1

  • Add - add ALT text to gravatar images to solve SEO issues
  • Enhancement - better replytocom handling
  • Enhancement - code refactoring
  • Enhancement - rename sections for consistency
  • Fix - ensure $screen is defined when viewing the backend

1.4

  • Fix - optimize quicktags placement for Quick Reply on the backend's Comments page
  • Fix - ensure quicktags bar is displayed inline for all themes
  • Fix - local avatars now display correctly on the frontend, with a fallback on a custom default avatar, then gravatar as last resort
  • Fix - local avatars now display correctly in the backend: dashboard, edit comments pages
  • Fix - local avatars no longer take over other avatars on Settings > Discussion
  • Fix - local avatars (even on localhost!) now display correctly on Settings > Discussion
  • Add - add padding setting to reply links
  • Add - add setting to remove text-decoration from reply links
  • Enhancement - only apply styles for comment form if comments are enabled and the form shown
  • Enhancement - clarify the options names for the comment policy option
  • Enhancement - better custom quicktags scenario
  • Enhancement - better replytocom handling
  • Enhancement - better styles handling
  • Enhancement - better options handling
  • Update - Freemius SDK
  • Update - CF SDK

1.3

  • New - introduce new sliders style
  • New - add better looking icons to the admin page, with dual colors
  • New - add new admin menu icon
  • New - translations and POT file
  • Enhancement - move menu underneath Comments menu for easy access and consistency
  • Enhancement - ensure avatar shapes are only applied to the comments avatars
  • Enhancement - enqueue and tie inline styles to the (child) theme
  • Enhancement - add further translatable strings
  • Performance - replace the font file with standalone SVG icons (this shaved 3.7 MB off the plugin)
  • Fix - display uploaded avatar as default if it is set
  • Update - CF SDK

1.2

  • New - add new plugin icon, derived from the banner
  • New - add new tab colors
  • Fix - fix backend quicktags display on the comments and dashboard pages
  • Enhancement - ensure border-radius is not set when an avatar shape is set
  • Enhancement - only output avatar code if a shape has been set
  • Enhancement - add missing default colors for quicktags
  • Enhancement - improve frontend loading times by 40%
  • Enhancement - rename functions for consistency
  • Enhancement - refactor CSS
  • Update - Freemius SDK
  • Update - CF SDK

1.1

  • New - add default colors and palettes for color controls
  • New - set maximum and minimum comment length
  • New - set reply title
  • New - set submit button label
  • New - add brand-new Avatars section
  • New - add more shapes for avatars
  • New - upload a sitewide default avatar
  • Fix - fix static methods for comments oEmbeds
  • Enhancement - reorganize Comments tab, add a new Avatars section
  • Enhancement - display our icon in the WP Admin sidebar
  • Enhancement - adjust readme.txt
  • Enhancement - ensure emojis are not intercepted by WP emoji functions on our settings page

1.0

Initial release.

$23.88
An annual licence entitles you to 1 year of updates and support. Your subscription will auto-renew each year until cancelled.