WordPress自定义文章类型打开评论链接404怎么办?

挂林风景异,秋似洛阳春。倘若,生命是一场旅行,爱,一定在路上。而往往,走得最急的,都是最美的风景。世界上有不绝的风景,我有不老的心。有时三点两点雨,到处十枝五枝花。

比如 boke112 导航的博客问答就是采用自定义文章类型,在评论回复邮件中点击查看完整内容的评论链接地址(如 https://boke112.com/post/5089.html/comment-page-1/#comment-61603)就会出现404 页面,但是其他文章页、页面的评论链接地址却显示正常,造成这个原因是因为 boke112 导航使用纯代码实现 WordPress 自定义文章类型的固定链接结构,当初的代码只考虑到将自定义文章类型的 URL 结果改写为 ID.html 结果,尚未考虑到评论地址的跳转问题,所以只需要将代码添加上评论地址即可。比如自定义文章类型 wenda,slug 为 bkwd,那么包含评论链接跳转的完整的代码如下:

  1. add_filter('post_type_link','custom_wenda_link',1,3);
  2. functioncustom_wenda_link($link,$post=0){
  3. if($post->post_type=='wenda'){
  4. returnhome_url('bkwd/'.$post->ID.'.html');
  5. }else{
  6. return$link;
  7. }
  8. }
  9. add_action('init','custom_wenda_rewrites_init');
  10. functioncustom_wenda_rewrites_init(){
  11. add_rewrite_rule(
  12. 'bkwd/([0-9]+)?.html$',
  13. 'index.php?post_type=wenda&p=$matches[1]',
  14. 'top');
  15. add_rewrite_rule(
  16. 'bkwd/([0-9]+)?.html/comment-page-([0-9]{1,})$',
  17. 'index.php?post_type=book&p=$matches[1]&cpage=$matches[2]',
  18. 'top'
  19. );
  20. }

其实就是比平时的代码多了评论的链接改写而已,具体增加的代码如下:

  1. add_rewrite_rule(
  2. 'bkwd/([0-9]+)?.html/comment-page-([0-9]{1,})$',
  3. 'index.php?post_type=book&p=$matches[1]&cpage=$matches[2]',
  4. 'top'
  5. );

本文WordPress自定义文章类型打开评论链接404怎么办?到此结束。人格的完善是本,财富的确立是末。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress做公司官网好吗?会不会显得档次很低?

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?