WP分类与页面slug冲突问题 – 博客更新(七十三)

2BROEAR 04-03-2022
最近更新于:2022-08-29 14:26:35

开发到这步拖了很久,出现了个比较坑的问题:页面导航均由post类型的category输出(每个category分别使用不同模板),而每个分类页面中的内容都在php模板文件内导致更改很不方便,所以需要提供一个接口在后台像post文章一样随意更改,然后想到了PAGE页面,利用page的slug来查询wp数据库对应的category内容,即page别名(slug)和category别名(slug)同步,之后再在模板内添加查询代码即可完成数据更新同步。 问题来了,这时候想给page页面加一个评论(使用comments_template调用)却调用出了文章内的评论。所以当页面别名和分类别名重复的时候,wp默认会使用category模板(这一步调用其实没问题,因为前台基本看不出来,但相关数据调用会有很多问题,category和page的调用不一样),这时候我们再调用评论的时候就出错了。不过这些都还好,致命的是这种情况只出现在部分分类页面,也就是说还有些category和page别名冲突的也一样调用了page页面,将页面作为单独的评论页面正常调用评论,这就百思不得其解了啊.. 搞了很久才发现有些不冲突是因为category分类层级的原因,那些访问冲突slug页面正常调用评论的都不是一级分类!没错,因为博客有很多层分类,所以在调用的时候出现了偏差,属实有些蛋疼。


评论留言

既来之则留之,欢迎在下方留言评论。提交评论后还可以撤销或重新编辑,未发布的留言会被储存在本地以供下次继续编辑(Valine 会自动保存您的评论信息到浏览器)