Deluxe Blog Tips About Projects

WordPress: Redirect to Thank you page after commenting

Redirecting visitors to a Thank you page after they commented on posts is a good way to communicate with them. In the Thank you page, you can inform that their comments have been queued (for moderation) and say that we’re very glad they joined discussion or something like that.

In WordPress, there are 2 ways to do that:

  • using hidden field in comment form
  • using action hook

Before going into details, remember that you’ve already created a Thank you page in your blog. It’s just a normal page like other WordPress pages. Go to your WordPress Dashboard → Pages → Add New, and write some thing interesting there. After that, remember its URL, for example: (I will use this URL below as you’ll see).

Using hidden field in comment form

Using hidden field in comment form is very easy. Open your comments.php file in the theme folder (/wp-content/themes/theme-name), you’ll find something looks like:

<form action="<?php echo
get_option('siteurl'); ?>/wp-comments-post.php" id="commentform" method="post">

All you need to do is adding this line below:

<input name="redirect_to" type="hidden" value="http://domain.com/thank-you" />

As you see the URL of Thank you page is used as the value of the hidden field.

Using action hook

Hooks are provided by WordPress to allow your plugin to ‘hook into’ the rest of WordPress; that is, to call functions in your plugin at specific times, and thereby set your plugin in motion. For more information about hooks, you can visit the Plugin API page at WordPress Codex.

In our situation, we’ll use the comment_post_redirect action hook. Open your functions.php file in theme folder and insert these lines:

// Redirect to thank you post after comment
add_action('comment_post_redirect', 'redirect_to_thank_page');

function redirect_to_thank_page() {
    return 'http://domain.com/thank-you';
}

That’s all. It is simple and easy, isn’t it?

Subscribe to the Newsletter

Subscribe to get my latest content by email. I won't send you spam. Unsubscribe at any time.