Ajaxify Comments – Post Comments Without a Reload


Skip page reloads and separate error screens when posting comments. Ajaxify Comments hooks into your native WordPress comments and allows comment posting without a page reload.

Spin up an instant demo (this will create a test WP site with the plugin installed)


When submitting the comment form, WordPress by default reloads the entire page. In the case of an error (e.g. an invalid email address or an empty comment field) the error message is shown on top of a new (blank) screen and the user has to use the browser’s back button to correct his inputs before posting the comment again.

The WP Ajaxify Comments WordPress plugin hooks into any WordPress theme and adds AJAX functionality to the comment form: When the user submits his comment, the plugin sends the data to the WordPress backend without reloading the entire page. In the case of an error, the plugin shows an overlay containing the error message so that the user can correct his comment without navigating back. If the comment has been posted successfully, the plugin adds the (new) comment to the list of existing comments without leaving the page and shows an information overlay.

Moreover this plugin includes an option to automatically refresh the comments on the current page while the user stays on your page without requiring a page reload.


WP Ajaxify Comments hooks into your theme and improves the usability of the comment form by validating and adding comments without the need of page reloads.

Technical note

Since the plugin hooks into the theme on client-side to intercept the comment form submit process, and to add new comments without reloading the page, the plugin needs to access the DOM nodes using jQuery selectors. The plugin comes with default values for these selectors that were successfully tested with WordPress’ default themes «Twenty Ten», «Twenty Eleven», «Twenty Twelve», «Twenty Thirteen», «Twenty Fourteen», «Twenty Fifteen», «Twenty Sixteen». If required, the selectors can be customized to match your theme in the plugin’s settings.


If the plugin does not work out of the box with your theme, custom selectors could be defined in the plugin’s settings. The plugin is highly customizable and We’re aware of only a few conflicts with any themes or other plugins that cannot be resolved (see «Known incompatibilities» in the FAQ section).

Some features of the plugin

  • Actively developed and supported
  • Validating and adding comments without page reloads
  • Seamless integration with almost every theme (default options should work with most themes)
  • i18n support (included localizations for ar, ca, da-DK, de-DE, es-ES, fa-IR, fr-FR, he-IL, hu-HU, nl-NL, pl-PL, pt-BR, ru-RU, sk-SK, tr-TR, uk, vi-VN, zh-CN)
  • Support for customizing (default) WordPress messages
  • Support for threaded comments
  • Support for comments that await moderation
  • Support for pages with multiple comment forms
  • Compatibility with comment spam protection plugins and other plugins that extend/manipulate the comment form
  • Admin frontend to customize the look and feel
  • (Automatic) fallback mode uses complete page reloads if the plugin is not configured properly or any incompatibility is detected
  • Client-side JavaScript API (see FAQ for more details)
  • Automatically updating comments while user stays on page
  • Option to load comments asynchronously with secondary AJAX request if page contains more than a specified number of comments
  • Option to save bandwidth for AJAX responses
  • Debug mode to support troubleshooting


  • Ajaxify Comments demonstration with inline error messages displayed
  • Info overlay after the comment has successfully been posted
  • Error overlay with error message when posting a comment failed
  • Settings page (for customizing the plugin)


  1. Upload wp-ajaxify-comments.zip to your WordPress plugins directory, usually wp-content/plugins/ and unzip the file. It will create a wp-content/plugins/wp-ajaxify-comments/ directory.
  2. Activate the plugin through the «Plugins» menu in WordPress.
  3. Enable the plugin on the plugin’s settings page (Settings > WP Ajaxify Comments)


4 de julio de 2022
This plugin is very useful. By default WordPress show missed filed error in a comment in a new page, this behaviour is not really nice on my point of view and, in some cases, made user loose text that was previously inserted in the fields. I tested this plugin with the "Hestia" theme but was not working so I created a support topic and the support is present and replied. This is a good point! I tested the plugin with another theme "Customizr" and works. This plugin is very useful.
25 de junio de 2021
Thanks a lot for sharing this, it solves a very common Wordpress issue.
29 de junio de 2020
Been using this plugin for years on multiple websites and just realized I never left it a review. Absolutely flawless plugin. Perfectly hooks onto wp_die function to display your own conditional custom error messages. Always worked straight out of the box for me, on 5 different themes.
Leer todas las 84 reseñas

Colaboradores y desarrolladores

«Ajaxify Comments – Post Comments Without a Reload» es un software de código abierto. Las siguientes personas han colaborado con este plugin.


Registro de cambios


  • Released 2023-08-30
  • Ensuring compatibility with WordPress 6.3.


  • Fixed HTML5 validation warning for script tag


  • Updated default value for «Comments container selector» to work with default theme «Twenty Twenty» without breaking compatibility to older (default) themes


  • Added compatibility to older WordPress versions (< 5.2.0) and to WordPress 5.6


  • Added compatibility to latest WordPress versions >= 5.5.0
  • Updated Waypoints library to 4.0.1
  • Updated jQuery blockUI plugin to 2.70.0
  • Updated Idle Timer to 1.1.1
  • Updated jsUri to 1.3.1


  • Preserve focus element when reloading comments
  • Fixed deprecated error in PHP 7.4


  • Added compatibility to latest WordPress versions


  • Optimized JavaScript injection


  • Removed dependency to PHP session


  • Fixed «Undefined variable: wpac_options»


  • Added JavaScript callback «OnAfterPostComment»


  • Prevent the comment form from being submitted multiple times in parallel
  • Fixed PHP notice «Undefined index: pagenow» (thanks to ravipatel)


  • Added (expert) option «Enable by query»


  • Added request parameters «WPACAll», «WPACSkip» and» WPACTake» to query comments


  • Added (expert) option «Disable cache»
  • Use GET request when updating comments


  • Fixed link to settings page in admin frontend


  • Fixed compatibility to WordPress 4.1
  • Changed plugin name from «WP-Ajaxify-Comments» to «WP Ajaxify Comments»


  • Changed plugin owner to weweave an added professional support
  • Added (expert) option «Base URL» to support reverse proxy configuration
  • Fixed page title update for titles containing UTF-8 characters
  • Typo fix in default localization


  • Loading comments now updates page title (thanks to Jincheng Shan)
  • OnBeforeSubmitComment callback is now called before submitUrl is extracted


  • Updated localization for zh-CN (thanks to Jincheng Shan)
  • Added CDATA tag for inline JavaScript (thanks to Jincheng Shan)


  • Added parameter commentUrl to callbacks OnBeforeUpdateComments and OnAfterUpdateComments


  • Changed order of links in plugin overview
  • Make sure WPAC._Options is always initialized
  • Bugfix for comment paging links


  • Added (expert) option «Place scripts in footer»
  • Added option «Comment links selector» to prevent (complete) page loads for comment links on pages if «Break comments into pages […]» is enabled
  • Bugfix for «Users must be registered and logged in to comment»
  • Fixed PHP Notice for PHP < 5.4.0


  • Minor optimizations
  • Added (expert) option «Optimize AJAX response» to save bandwidth
  • Fixed JavaScript includes for HTTPS


  • Added option «Disable scroll to anchor»
  • Fixed paging support and async comment loading for pages where comments are closed
  • Fixed compressed JavaScript file
  • Fixed support for URLs with comments anchor if async comment loading is enabled


  • Added option «Post container» to support for multiple comment forms per page
  • Added option «Comment pages URL regex» to support none default WordPress comment pages


  • Added parameter newDom to callbacks OnBeforeUpdateComments and OnAfterUpdateComments
  • Fixed JavaScript error «TypeError: WPAC._Options is undefined» (thanks to Suzanne Ahjira)
  • Fixed JavaScript error in Internet Explorer (thanks to timhengeveld)


  • Fixed double slashes in JavaScript include (thanks to Mr Press)


  • Added option to define when to load comments asynchronously with secondary AJAX request
  • Optimized JavaScript includes (use compressed/merged JavaScript file and only include files if they are needed)


  • Fixed «Undefined index» PHP notice (thanks to fergomez)


  • Fixed compatibility to wpMandrill (thanks to paddywagon)


  • «OnAfterUpdateComments» callback is now called after form data has been reset


  • Added options to customize (default) WordPress messages
  • Disabled (auto) scrolling when comments are updated by «Auto update idle time»
  • Fixed compatibility to jQuery «no conflict mode»


  • Bugfix for cross-domain scripting detection


  • Added option «Auto update idle time» to automatically update comments if user is «idle»
  • Updated jQuery blockUI to 2.64


  • Added option to disable URL updating


  • Fixed some PHP strict warnings


  • Fixed compatibility to PHP < 5.4.0


  • Fixed compatibility to jQuery «no conflict mode»


  • Added options to customize texts
  • WPAC.RefreshComments() and WPAC.LoadComments() now accept option object (and added option «showLoadingInfo» to suppress loading overlay)
  • Updated jQuery blockUI to 2.61
  • Added jsuri 1.1.1 to avoid query strings with duplicated WPAC fallback parameters


  • Comment paging now updates browser URL
  • Added localization for da-DK (thanks to Bjarne Maschoreck)
  • Bugfix for themes where comment form is not nested in comment container
  • Bugfix for clearing all settings (thanks to HarroH)


  • Ajaxified comment paging
  • Improved debug support for cross-domain scripting problems


  • Hotfix for environments where PHP is not installed as an Apache module


  • Bug-fix: Options are no longer saved if validation fails
  • Refactored and extended client-side JavaScript API
  • Updated localization for de-DE
  • Added option to load comments asynchronously with secondary AJAX request


  • Added localization for hu-HU (thanks to Patrik Bagi)
  • Added option to customize the overlay’s width
  • Added option to customize the overlay’s padding


  • Added localization for he-LI (thanks to Siman-Tov Yechiel (www.wpstore.co.il))
  • Added JavaScript callback («Before submit comment»)
  • Updated jQuery blockUI to 2.57


  • Added JavaScript method wpac_init() to enable manual client side initialization
  • Optimized SQL queries (thanks to Geleosan)
  • Added validation for «scrollSpeed» option
  • Fixed debug alert message in IE 9
  • Added localization for sk-SK (thanks to Branco, Slovak translation (WebHostingGeeks.com))


  • Added option to customize the font size
  • Added i18n support for admin frontend


  • Added JavaScript callback («Before select elements»)


  • Added localization for ar (thanks to sha3ira)


  • Fixed some PHP warnings (thanks to petersb)
  • Fixed HTTPS check for ISAPI under IIS
  • Added support for non-standard HTTP port
  • Fixed handling of unexpected/unsupported server responses


  • Added localization for ru-RU and uk (thanks to Валерий Сиволап)


  • Added JavaScript callbacks («Before update comments» and «After update comments»)


  • jQuery 1.7+ compatibility: Use on() or delegate() if available instead of deprecated live() (thanks to tzdk)


  • Added localization for tr-TR (thanks to Erdinç Aladağ)
  • Added localization for pt-BR (thanks to Leandro Martins Guimarães)


  • Added localization for fa-IR (thanks to rezach4)


  • Updated localization for zh-CN (thanks to Liberty Pi)
  • Updated jQuery blockUI to 2.42 (thanks to Mexalim)


  • Success overlay now supports comments that are awaiting moderation
  • Add «?» when commentUrl has no query string to reload page in case of partial page update fails
  • More detailed debug messages and debug support for Internet Explorer 9
  • Added localization for ca (thanks to guzmanfg)


  • Added localization for nl-NL (thanks to Daniël Tulp)


  • Success and error overlays now show default cursor instead of loading cursor
  • Fixed problems for translations containing double quotes
  • Cancel AJAX request if cross-domain scripting is detected
  • Added options to customize the look and feel
  • Added localization for vi-VN (thanks to Nguyễn Hà Duy Phương)
  • Added localization for es-ES (thanks to guzmanfg)
  • Updated localization for de-DE


  • Added localization for pl-PL (thanks to Jacek Tomaszewski)


  • Bugfix for Internet Explorer


  • Added localization for fr-FR (thanks to saymonz)


  • Added localization for zh-CN (thanks to Liberty Pi)


  • Added i18n support
  • Added localization for de-DE


  • Fallback mode reloads page with comment anchor
  • Bug-fix for themes where comment form is nested in comments container (thanks to saymonz)


  • Added Option «Error Container Selector» to customize the error message extraction
  • Added compatibility with comment spam protection plugins like «NoSpamNX» (thanks to Liberty Pi)
  • Removed timeout for loading overlay (thanks to saymonz)


  • Fixed compatibility with setting pages of other plugins (thanks to saymonz)
  • Reactivated warning and info notices on admin page «Plugins»


  • Fixed updating of browser address bar


  • Support for themes with threaded comments where form tag is not nested in comment container
  • (Smooth) scrolling to new comment after new comment has been posted
  • Update browser address bar to show comment URL after new comment has been posted
  • Abort plugin initialization on pages and posts where comments are not enabled
  • Info overlay when complete page reload is performed in fallback mode


  • Fixed error with warning and info notices on admin page «Plugins»


  • Versión inicial