Theme Privacy

In WordPress 4.9.6, several tools were introduced to help sites meet the requirements of the new European Union’s new GDPR (General Data Protection Regulation) laws. This article details what theme authors need to know about compatibility with the features.

Theme authors should test their themes to confirm that there are no design conflicts between the features and their themes detailed below.

Privacy Policy Pages

WordPress 4.9.6 introduced the ability to select a page as a privacy policy for a site in the Settings > Privacy section of the admin area. For new sites, a privacy policy template page will automatically be created in draft status.

To link to the selected page in plugins and themes, three template tags have been added:

Top ↑


The following example will display the privacy policy link surrounded by a div element

if ( function_exists( 'the_privacy_policy_link' ) ) {
   the_privacy_policy_link( '<div>', '</div>' );

Top ↑

When a logged out user comments on a post, they are asked for their name, email, and website. This information is stored locally in the commenter’s browser for two purposes:

  1. When they leave another comment on the site, their name, email, and website will be pre-populated into the respective fields.
  2. If their comment is held for moderation, they can return to that post and remove the comment before it is approved.

The information stored in this cookie is for convenience and is not essential. Therefore, the user needs to be given the choice to opt in or opt out of the storage of this data.

For this reason, a checkbox has been added to the comment form that allows commenters to opt-in to storing this data in the cookie. This checkbox will be unchecked by default, as opt-in is an action the user must explicitly approve.

The new checkbox field is automatically added to comment forms displayed using the comment_form() function inside a p.comment-form-cookies-consent element.

While most themes will not require any action, it is recommended that you double check that the input and label does not require CSS adjustments in custom themes.