Note: the content of this blog post has been ported to our documentation, for easier access.
To help your site be transparent to your visitors about using Akismet to process comments (think privacy and GDPR), our WordPress plugin now gives you the option to display a notice under your site’s comment forms. Site owners can decide if they want to display it, or not, on a per-blog basis.
But we’ve also given options to developers to extend the behaviour, and content, of said notice.
The display of the notice itself, as well as the in-admin notice to set it for one’s site, all revolves around a new
akismet_comment_form_privacy_notice option, which needs to be set to either
If the option is not yet set, the front-end notice will not be displayed, but the in-admin prompting site owners to set it will.
Once set to either
hide, the front-end notice will match the choice, and the in-admin notice will disappear.
class.akismet.php, there is a new
Akismet::display_comment_form_privacy_notice() method, in which you can find the following filters to extend.
Overrides the returned value of the
akismet_comment_form_privacy_noticeoption. This value can be
hide, and controls the display of the front-end privacy notice under comment forms.
Lets you customise the text and markup of the actual notice, which defaults to
'<p class="akismet_comment_form_privacy_notice">' . sprintf( __( 'This site uses Akismet to reduce spam. <a href="%s" target="_blank">Learn how your comment data is processed</a>.', 'akismet' ), 'https://akismet.com/privacy/' ) . '</p>'. Note that if you choose to modify the markup, something needs to eventually point your users to https://akismet.com/privacy/, which will always display, or redirect to, our most up-to-date privacy related documentation.
As seen above, the default front-end privacy notice is wrapped in a
WP Multisite or multiple WP installs
If you have a lot of sites/blogs, you might also now be wanting to set the privacy display in bulk.
There are a few ways of doing that.
You can create a quick plugin that checks if the
akismet_comment_form_privacy_notice option is set, and if it is not, set it for the current blog:
update_option( 'akismet_comment_form_privacy_notice', $state ); where
$state is either
Or you could write a script that loops on your blog list, and set the same option, in one run.