专注WP
建站技术分享

WordPress网站保存菜单时,菜单项丢失缺少一部分,显示位置的勾选设定也被取消了

办公人导航

在WordPress站长圈站长在做一个导航网站的菜单时,遇到这样一个问题,当我新新增好菜单保存后,发现WordPress网站的菜单都不显示了。经过检查发现,菜单设置的显示位置勾选被取消了,而且本来设置有很多菜单的,现在只有前面的一部分,后面很多都丢失了。第一次出现这种情况,以为只是意外,于是自己又重新添加了所有丢失的菜单。但是没过几天,在站长调整菜单的时候,又一次出现同样的问题。

出现两次WordPress网站保存菜单时,菜单丢失的问题,这就很奇怪了。于是站长就到网上搜索看看有没有人遇到这样的问题,有什么解决方法。遇到这种情况一般是由于菜单项比较多,比如我的有将近100多个菜单。导致菜单丢失的原因是服务器问题,php 5.3.9后增加了一项叫做max_input_vars,默认值1000,即表单一次可以提交1000个变量。超过了只能被截断,也就是说传到WordPress的数据被服务器截断丢失了。

WordPress网站保存菜单时,菜单项丢失缺少一部分,显示位置的勾选设定也被取消了插图

下面站长把找到的解决方法分享给大家

办法一:

打开 php.ini 搜索 max_input_vars ,其中 max_input_vars = 1000 后面的 1000 修改为 2000 或者更大的数字,并且去掉前面的分号)

php.ini 文件的目录一般是:/www/server/php/73/etc/php.ini,其中73是php的版本,比如你的如果是8.0版本那就是80

WordPress网站保存菜单时,菜单项丢失缺少一部分,显示位置的勾选设定也被取消了插图1 WordPress网站保存菜单时,菜单项丢失缺少一部分,显示位置的勾选设定也被取消了插图2

方法二:

拷贝一份 php.ini,放到 wp-admin 目录下,在 php.ini 里加上这几项,问题就可以解决,放到网站根目录下只能改变前台的设置,影响不到后台。

max_input_vars = 2000

suhosin.post.max_vars = 2000

suhosin.request.max_vars = 2000

建议可以两个都更改或者直接修改php.ini文件,因为你如果是复制php.ini放到wp-admin目录下,这样你调整更新主题就需要重新调整。

这个问题一般也就出现在像WordPress导航网站这类,菜单分类比较多的网站。站长就是导航网站菜单分类有10多个一级目录,每个一级目录下面有近10多个二级目录。站长出现这种问题并不是一修改保存就丢失,而是间断性的出现,第一次出现菜单丢失了之后,中间有段时间保存没有出现菜单丢失问题。如果你也遇到类似情况,不妨试试上面的方法。

未经允许不得转载:WP站长圈 » WordPress网站保存菜单时,菜单项丢失缺少一部分,显示位置的勾选设定也被取消了