Subscription Form

Updated

Form Shortcode

Content Notify comes with a shortcode that can be added anywhere to show the ‘Create Subscription’ form.

An un-styled form shown in the (non-Bootstrap) Twenty Twenty WordPress theme.
A fully-styled form shown in a Bootstrap-based WordPress theme.

To add the form in the new Block Editor (Gutenberg) or using the Classic Editor, simply use the shortcode: [cn_form]

You can customise the output of the form by adding some parameters to the shortcode:

  • Use user_fields="false" when a user is logged in and you don’t want to show the auto-populated Email Address, First Name, and Last Name fields in your form. If the user is logged out, these fields will show, even if this parameter is added to the shortcode.
  • User user_names="false" if you don’t want the First Name or Last Name fields to show in the form.
  • Use post_types="" with a comma separated list of post types that you want to limit the output of the Notify When field. Setting this to ‘auto’ or ‘false’ will detect the post type of the current post/page/custom post type, select it, and hide the Notify When field. Setting this to a single post type will hide the Notify When field but will show it when more than one post type is specified.
  • Use status="" with a single or comma separated list of post statuses that you want to limit the output of the Are field. Only ‘publish’ and ‘update’ statuses are available at this time. Setting this field to ‘false’ will set the field to alert of both statuses. I.e. if a post is published OR updated. Setting this parameter will hide the the Are field.
  • Use taxonomies="" with a comma separated list of taxonomies that you want to limit the output of the In field. Setting this to ‘false’ will hide the In field. Setting this to ‘auto’ will detect the first term of the first taxonomy associated with the current post/page/custom post type and will hide the In field.
  • Use logic="" to set the form to using and logic or or logic. Settings this to and will ensure an alert is only triggered when all taxonomy terms chosen are matched. Setting this to or will ensure an alert will be triggered when *any* taxonomy terms chosen are matched. When this shortcode parameter is excluded, the form’s logic defaults to or.
  • Use search="" to enable the keyword search field. This will allow users to trigger an alert based on search for a keyword in the title or content of a post/page/custom post type. Users can add multiple keywords by comma separating them, and use a plus sign ‘+’ to join words and search for them as phrases. Setting this to ‘false’ will hide the Keyword Search field.
  • Use authors="" with a comma separated list of authors that you want to limit the output of the By field. Setting this to ‘false’ will hide the By field. Setting this to ‘auto’ will detect the author of the current post/page/custom post type, select it, and hide the By field.
  • Use privacy_policy="false" to hide the privacy policy checkbox for logged in users.

For example, you have Posts, Pages, Media, Movies, and Events as post types on your site but you only want users to be able to create subscriptions for Movies and Events. Just use this shortcode: [cn_form post_types="movies,events"]

Similarly, if you want to limit this further by only allowing users to create subscriptions for the Actors (custom taxonomy for Movies) and Local (custom taxonomy for Events), then use this shortcode: [cn_form post_types="movies,events" taxonomies="actors,local"]
The order of post types and taxonomies doesn’t matter – Content Notify will understand and work out which taxonomies are associated with which post types. Magic!


Adding to Template Files

Should you wish to add the form, including any shortcode parameters, to a theme template file, you can use this code:
<?php echo apply_shortcodes( '[cn_form]' ); ?>


Form Errors

On submission, and once the page has been reloaded, the page that features the shortcode will show any validation errors above the form or will hide the form and display a success message when it is correctly submitted.

It is not recommended to put the form into a modal popup as the page needs to refresh in order to submit and validate the entered data.


Privacy Policy Link

The Privacy Policy link is automatically added from the page set in Settings > Privacy in the WordPress Admin.


Logged In Users

Users that are logged in will benefit from their first name, last name, and email address being pre-populated in the form, providing that this information is available in their user account.


Styling the Form

The form uses standard Bootstrap classes so that it will integrate with the many, many themes that use Bootstrap as their underlying CSS framework.
The form also uses unique Content Notify classes so that you can style it further should you wish. The CSS classes available are:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.cn-form {}
.cn-error {}
.cn-success {}
.cn-form {}
.cn-required-asterisk {}
.cn-email-address {}
.cn-names {}
.cn-first-name {}
.cn-last-name {}
.cn-when-are-by {}
.cn-when {}
.cn-are {}
.cn-by
.cn-taxonomies {}
.cn-taxonomy-row {}
.cn-taxonomy {}
.cn-privacy {}
.cn-submit {}

Styling Alerts

Alerts are shown when a form passes or fails validation, or a subscriber attempts to verify/delete their subscription. The CSS classes available are:

1
2
3
.cn-success {}
.cn-warning {}
.cn-error {}