保存WordPress菜单时出现丢失菜单项问题分析

2015-09-22 22:42 阅读 22 次 评论关闭

这几天一直有一个问题困扰着我,具体的说,我在wordpress创建了一个菜单,大概有80多个菜单项,这80多个是直接用WordPress import工具导入的测试数据。但当我想修改菜单,增加几项时,问题就来了,只要多加一个,排在最后的菜单必定会消失一个,连菜单位置的设定也没了,导致无法增加更多的菜单项。

甚至出现了“页面找不到了...错误信息:500-服务器尝试执行请求时遇到了意外情况!

简单来说,使用wordpress建站时遇到一个关于菜单的奇怪问题。当菜单项数量很多时,保存菜单时末尾的几项会丢失,连菜单位置的设定也没了。

经过几个测试,具体如下:

使用wordpress最新版4.3.1,在保存菜单时就更加奇葩了,只有八项菜单,多一项菜单都不行。换了几个wordpress主题还是一样的500错误。特别纳闷,在网上百度了一下,发现几乎没有出现这个问题的,难道这是对我的一个考验?庆幸的是,找到了一个所谓的解决方法。

据称这是服务器问题,php 5.3.9后增加了一项叫做max_input_vars,默认值1000,即表单一次可以提交1000个变量。超过了怎么办,只能被截断,也就是说传到WordPress的数据早就被服务器截断了,丢失了,WordPress只能对着残缺不全的数据哑巴吃黄连。

网上的解决方法是拷贝一份php.ini,不知道php.ini的具体位置请联系主机提供商,一般都会给你复制出来。如果是免费空间,那很遗憾,找不到就放弃吧。推荐使用恒创主机官网,详情《恒创主机怎么样?恒创主机使用情况分享!》。然后把php.ini文件放到wp-admin目录下,在php.ini里加上这几项,问题就可以解决,放到网站根目录下只能改变前台的设置,影响不到后台。

max_input_vars = 2000
suhosin.post.max_vars = 2000
suhosin.request.max_vars = 2000

虽说max_input_vars是从php 5.3.9开始有的,但我用的是php 5.3.28,也有这个变量。如果遇到这个问题,php版本又没到5.3.9,php.ini里也没这项,直接加上就好。

我试了很多次修改php.ini,但最终还是没有解决这个问题。如果有解决这个问题的,请留言。

随后经过了第二个测试,就是把wordpress版本降低,直接降低到3.9系列。测试了一个增加菜单,保存菜单,发现能保存菜单项到90个左右,多一个都会被截取掉。然后又尝试了修改php.ini的方法来解决保存WordPress菜单时出现丢失菜单项问题,但还是没有任何反应。依旧停留在90个菜单项。但通过这个测试发现,保存WordPress菜单时出现丢失菜单项问题不仅是php版本的问题,还涉及到wordpress版本的问题。

如果有解决这一问题的朋友,欢迎留言一起探讨。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:保存WordPress菜单时出现丢失菜单项问题分析 | 猎微网

评论已关闭!