WordPress 媒体上传错误总汇

WordPress 使用时发生的较多的情况就是上传媒体 (图片) 是发生的一些错误,这里我们总结一下这些错误,以及应对方法:

1. 症状:WordPress 编辑文章时,点击 「添加媒体」 按钮无反应

原因:更具 WordPress 官方的解释, WordPress 为了提高效率要求你所有的 js 要集中到一起,那么如果主题或者插件集成了某些 js 文件,可能会在加载顺序上造成一定的阻塞,取消这个功能即可正常 (不会影响你的前端加载,只是针对后台)
解决方法:使用 ftp 进入你的网站根目录,找到 wp-config.php 这个配置文件,添加如下代码即可关闭集中,解决问题:define('CONCATENATE_SCRIPTS', false );

2. 症状:WordPress 文章编辑点击添加媒体时,媒体库图片加载不出来 (一直转圈),并且上传图片显示 「发生错误,无法上传」,而实际上以及上传成功,但是在外观--多媒体中可以显示所有图片,并可以正常上传。

原因:我们帮助多个用户修复过这个问题,总结之后可以发现,在后台源代码中<!DOCTYPE html> 的顶部出现别的代码 (最上面),这样一般是由于主题或者插件加载样式文件 (css) 、脚本文件 (js) 错误,或者是由于用户自己修改或者添加代码错误造成的,这样会造成不符合 W3C 标准,因此一些功能会受到限制
解决方法:如果自己修改过主题或者插件文件,可以重新安装主题,重新安装插件即可,也可以重新安装 WordPress 解决这个问题。

WordPress 登陆后台出现提示 「Cookies 被阻止」,或者还没有输入账号密码就显示 「账号密码错误」,不能登陆

这个问题我们在帮助用户解决时,发现出现的最多的 (基本上都是) 是购买的万网的主机,原因是万网的主机默认关闭了输出缓冲区数据块,一般来说,登陆主机管理后台--主机环境管理--高级管理中,将输出缓冲区数据块设置为开启即可,如图:

915

若是安装了 WEB 主题公园所出品的购物盒子插件,设置好前端登陆之后出现这个问题,一般是 php 版本低于 5.3,在虚拟主机选择 5.3 以上的 php 版本即可 (这个问题也是万网的主机出现的最多的)

WordPress 主题安装之后和演示的效果不一样

市面上现在绝大分部主题安装之后,所呈现的样子都和演示的效果网站和效果图不一样,基本上是空的,这个是正常的现象,因为主题只是网站的前端展示方式,而展现的内容是需要后台设置的内容支持的,并且新装主题有很多设置需要设置之后才能够显现。

若主题支持导入数据和图片数据,那么通过导入数据之后,就可以和演示效果一样了,新开发的一些主题提供了这个服务,若你感兴趣可以了解。

WordPress 设置菜单时,点击菜单页面右上角的 「显示选项」 无法展开

这个是由于 WordPress4.2 之后中文版造成的 bug,可以使用一下方案解决 (任选其一解决):

1. 将修复文件覆盖,

2. 在外观中打开自定义,点击自定义左侧的 「菜单选项」,点击齿轮按钮,即可看到显示选项中的内容,勾选即可

3. 在设置--常规中,将语言设置为英文,回到菜单即可打开显示选项,勾选所有选项之后回到设置--常规切换语言为中文即可

 

WordPress 更新、 WordPress 主题或者插件更新时卡住,前台后台均显示 「正在执行例行维护, 请一分钟后回来」

zzzxwh

出现这个问题可以稍微等一下,若等待 1 分钟之后还没有效果,请使用 ftp 进入网站文件管理根目录,找到文件 .maintenance,删除即可显示正常。

有时候也会发现这个文件并不存在 (nginx 平台上出现过),那么你可以新建一个 txt 文件,命名为 1.txt,上传至服务器,将文件名改为 .maintenance,上传之后刷新 ftp,会发现文件消失了,再回到网站刷新即可显示正常。

WordPress 设置菜单时,若菜单项目过多导致菜单无法保存

这是由于一般的服务器或者虚拟主机的 php 设置只允许 1000(含 1000) 以下的变量提交,因此如果菜单设置的项目太多,就会导致新增加的项目无法保存,修改的内容页无法保存。

解决方法可以是设置较少的菜单项目,分散这些链接到网站的其他的地方,若一定要设置大量的菜单,可以通过修改 php.in,修改提交变量的数量:

打开服务器的 php.in,找到以下语句:
;How many GET/POST/COOKIE input variables may be accepted

max_input_vars = 1000
将 1000 改为 5000 即可

电脑上传一张全屏通栏的焦点图,在笔记本上查看,两边的内容超出看不见了

这也是一个非常常见的误区,这是由于网页设计的特性,一般来说全屏轮播的焦点图都是居中的背景图片,一般要求我们做到最大的 1920 分辨率,所以上传的图片是 1920 像素,而现在兼容最小分辨率是 1024,因此我们的主要内容都要放在 1024 分辨率中。

进入后台,点击任意或者个别选项,显示 File not found 错误提示或者 404 页面

如果出现了上述情况,请检查一下你的浏览器上的 url,比如我进入文章--所有文章,正常方式是 http://www.xxx.com/wp-admin/edit.php

出现的错误会丢失一段路径,显示为 http://www.xxx.com/edit.php

这样就会造成 404 或者 File not found. 的错误,而无法操作后台了,这个错误一般是 LNMP 环境下会出现,解决方法也比较简单:

在/usr/local/nginx/conf/WordPress.conf 文件进行修改:

location / {
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

红色部分为添加的代码,添加完成之后重启 lnmp 就可以解决缺少 wp-admin 路径问题。

使用 smtp 插件发送邮件的服务无法发送

我们推荐使用 WP-Mail-SMTP 插件,使用 qq 邮箱进行发送邮件 (找回密码、留言提醒等等功能需要发件功能),若是使用 qq 邮箱发送邮件无法成功你需要注意以下工作是否做好了:

1.qq 邮箱中是否设置开启了 POP3/SMTP 服务,查看方法是,在 qq 邮箱的设置--账户找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务这一选项,勾选开启 POP3/SMTP 服务,会提示你使用手机验证,并提供给你一条授权码,复制授权码到记事本,在 WordPress smtp 插件中的密码选项中填写 (现在 qq 邮箱新开的不能 填写密码了,要填写授权码,以前设置成功的不受影响)

2. 你的服务器是否安装并开启了 openssl 模块,目前几乎所有提供 smtp 服务的第三方邮箱都是使用 ssl 加密方式,若你的服务器没有安装或者没有开启 openssl 的话,也是无法发送邮件的。下面给你一个方法检测你的服务器或者虚拟主机是否安装并开启了 openssl:

1. 下载这个文件 【点击下载】,解压后将 phpinfo.php 上传到你的网站根目录,并使用你的域名/phpinfo.php 访问

2. 在浏览器上按下键盘组合键 ctrl+f 进行搜索,一般下面会出现一个搜索框,搜索 openssl,若找到如下图的信息,那么就是安装并开启了 openssl,若找不到或者与下图不一样,那么就是没有安装好或者没有开启,那么你需要联系你的服务器商解决一下这个问题:

30

升级 WordPress 、或者升级 WordPress 主题、插件等出现无法安装这个包 Missing archive file 'C:\WINDOWS\TEMP/homemagic-DxmO8U.tmp'的提示

诊断:这是由于你的服务器或者虚拟主机的文件目录权限所造成的,WordPress 更新主程序、插件、主题时,需要将升级安装包下载到一个临时文件夹,如果临时文件夹因为目录的权限无法建立,那么就会出现这个问题。

解决:vps 或独立服务器可以直接通过设置相应临时目录的权限来解决这个问题;而使用虚拟主机的站长,可以创建一个 temp 目录,并设置目录权限为可写。

虚拟主机:在 WordPress 程序根目录,编辑 wp-config.php 文件,找到以下代码:
/** WordPress 目录的绝对路径。 */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');

修改为

/** 指定 WordPress 的临时目录 */
define('WP_TEMP_DIR', ABSPATH . 'wp-content/temp');

然后在 wp-content 文件夹下新建个 temp 文件夹,设置目录权限可读写, 即可解决这一问题。