24 篇标签“wordpress”の内容
2022年3月4日 -

开发到这步拖了很久,出现了个比较坑的问题:页面导航均由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页面正常调用评论的都不是一级分类!没错,因为博客有很多层分类,所以在调用的时候出现了偏差,属实有些蛋疼。

Ps.

现在的解决方案有把一级分类移到二级,以此类推,重新输出导航。还有个比较简单的办法,因为之前去掉了category分类目录,现在只需要把对应代码删了,然后在后台固定链接的分类前缀处填写“.”即可让wp自动区分category与page之间的关系(此方法在网上最常见,但仔细观察导航链接会发现那个.号依然存在于链接当中,即使能正常访问。所以另一个间接导致这个问题的原因就是WPML去category插件的原因,从根本上重写的category就导致了page之间的slug冲突。注意:当使用page页面时$cat变量将无法使用,届时分类模板中的部分post变量将无法使用,主要是在category中即使用了分类模板又对接了页面数据)... 暂行方案:删除wpml重写category规则 -> 设置分类固定链接为“.” -> 删掉不需要应用page类型的页面(删掉后默认使用category模板),至于导航链接中显示的“.”层级暂时无解(如果使用.后再启用wpml重写会导致page页面应用失效,需要删除wpml并取消前缀后重新启用“.”前缀)

2022年3月4日 -

2022年3月3日 -

上次那个问题没找到原因突然自动就好了,现在又出了一样的问题,一直以为是没匹配到文章模板(single-***)甚至去自定义了文章模板,但还是想到和跳转有关,毕竟把设置里固定链接改为?参数形式就可以正常访问每篇文章模板,再简单记录下这次问题记录。

Ps.

首先查看插件 WPML(去 category 插件)是否启用(需要提前清空functions内跳转category规则),再去配置 nginx 的配置文件(如果是宝塔就直接去伪静态栏目清空wordpress跳转配置文件并保存)清空跳转文件,之后再去插件启用 WPML,重新访问即可正常范围每个文章模板。

2022年3月3日 -

2022年2月15日 -

之前用的是 No Category Base (WPML) 插件实现去除 url 中的 category 目录,后面把插件内的代码搬到 functions 里之后进行了精简处理(仅保留了少部分),结果今天偶然一访问文章发现跳到首页去了,以为是 single 页出了问题,但什么都没改过,其他也都正常,折腾了一早上大半天才发现就是这个重写规则出的问题,之前试过把固定链接改为参数查询访问就没问题,一自定义就出问题了,而且换成.也没用,最后把之前所有重写规则重新放入 function 内后恢复了正常。

Ps.

这东西的确坑,原因也没找到,因为之前用的精简版完全没问题,突然出这个问题应该是最近更新了 wordpress 5.9 的原因。

2022年2月15日 -