WordPress

关注公众号 jb51net

关闭
CMS教程 > WordPress >

WordPress实现评论提交后跳转的方法

脚本之家

很多采用WordPress程序搭建的博客都相当重视与读者之间的互动,以评论为例,为了提高读者的体验质量,有的博主会专门给评论者提供一个“感谢”的页面,也就是说,评论者发表评论后即被重定向到这个指定的“感谢”页面,这类感谢“页面里有些内容是博主自己设计好的,比如“感谢你参与本文的讨论!”等诸如此类的提示,这在一定程度上让评论者感受到博主的热情与细心。文本讲述了在WordPress上实现这样的效果的方法。
  假设你已经创建了一个“感谢”页面,其英文名为thank-you,这个操作步骤相信大家都懂得,就在后台控制面板的“添加新页面”里可以创建了,这里需要记住这个thank you页面的URL,后面要用到。
  
方法一,通过使用评论框隐藏域(hidden field)来实现到thank you页面的跳转

  打开主题文件comments.php,再找到如下显示评论框的代码:

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

  在这行代码的下面添加如下这行:

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

  注意其中的URL,也就是你之前所创建的thank you页面的地址,这里用作隐藏域(hidden field)的值。
  
方法二,运用执行挂勾(action hook)来实现

  WordPress 中有一种叫执行挂勾的机制,允许插件把一些功能“挂载”到 WordPress 当中。也就是说,在系统运行至某一个环节时,去调用插件内的一些函数。更多关于“执行挂钩”的说明,请参考WordPress中文插件 API 文档。
  在本例中,我们将使用 comment_post_redirect 这条hook. 打开主题文件 functions.php,然后添加以下几行代码:

// Redirect to thank you post after comment
add_action('comment_post_redirect', 'redirect_to_thank_page');
function redirect_to_thank_page() {
return 'http://localhost/thank-you';
}

  依然应该根据实际情况修改其中thank-you页面的URL。至此问题搞定!