笔者最近花了点时间来总结我们在Wordpress安装和使用主题插件时经常遇到的一些问题,我们将这些常见问题做了聚类,尤其对于没有太多开发经验甚至对于Wordpress还是初学的同学来讲,这篇文章值得你们仔细阅读,可能就能解决你90%以上关于主题插件安装失败的Case了,好了,话不多说,一起来看个究竟,Let’s Go!

我们如果从流程先后顺序来讲的话,可以分为上传主题或插件失败、导入模板失败、导入模板后前台元素丢失等问题。

一、上传主题或插件时失败报错

尤其是新手朋友,从网上(不管是官方渠道还是一些三方渠道)购买后,啥都没做顺手直接把下载的Zip包上传,那往往就可能会发生这样的问题,主题上传可能提示style.css stylesheet缺失;插件就可能提示plugin not found(找不到插件)。

1718037728-e0a44ed453da4d2

(主题上传失败)

1718077731-4b73c1dedf3d821

(插件上传失败)

究其原因就是您上传的包并且真正的安装包,因为原版主题或者插件的包都是把主题安装文件、安装说明、技术文件、额外附赠品等打包在一起变成了一个压缩包,因此你需要将此包解压,而包里的目录里,例如Themefiles目录里就可能藏着真正的主题安装包,它往往就是主题名.zip的形式存在了。以Woodmart主题为例,下面就是下载后的zip包在解压后,你会看到Woodmart Theme目录,里面的zip文件才是主题文件。另外多说一句,有些主题还会附带xxx-child.zip,这个是子主题(什么是子主题?),如果你需要自己写代码做一些自定义功能的话,那么子主题最好安装上。

1718038300-9d6f0b1dbab5b2a

二、PHP参数配置不正确导致上传失败

另外你是不是遇到过类似于下图的情况,上传后马上跳转错误页面,提示上传链接已过期、上传文件的大小太大、上传文件的大小超过PHP.ini设定等等?

1718698021-ee1d025a4ef35de

 

我们知道PHP在不同安装方式下,它默认的参数配置是不同的,尤其是一些通过镜像安装的,或者对服务器超卖的黑心主机商而言,通过“压榨”PHP的参数来达到服务器的“稳定”运营。所以我们就会发现最大上传大小、PHP超时时间等等这样的参数配置不正确(过小),就会造成上传失败。比如你的主题或者插件文件是10M,但是你的PHP的文件最大上传大小默认被设置为2M的,那就肯定失败;或者你的最大上传大小配置正常,但是最大Post大小也过小,那么也会造成403 Entity Too Large这样的错误;或者前两个参数都OK,但是PHP执行及超时时间太短,笔者见过有默认的只有10s,碰到主题文件大的,不超时才怪。我们总结下这几个参数:

upload_max_filesize (文件最大上传大小)

post_max_size (Post最大大小)

max_execution_time (PHP最大执行时间)

max_input_time (PHP输入时间)

 

以上参数其实都存放在一个名为PHP.ini的文件里,那如何知道这个PHP.ini参数的位置呢?这个文件必须命名为’php.ini‘并放置在httpd.conf中的PHPIniDir指令指定的目录中,不同操作系统的位置可能不一样,建议使用phpinfo( )函数可以查看。

如果你使用的是宝塔、Cpanel这样的第三方面板,那你可以在软件商店->PHP->设置->配置修改 中修改(如下图)。笔者配置的参数呢,已经算是比较大概率可以保证主题插件安装文件可以被上传成功了,大家可以参考。

1718037163-f81340ff91da05f

 

三、PHP参数不正确导致不能导入模板

接着上面第二点,我们再说说PHP参数配置不当可能引起的模板导入问题,其实我们之前有文章专门介绍过Astra高级主题导入时发生的一系列问题,其中一大部分就是涉及到PHP参数的,在模板导入时候最大的罪魁祸首应该就是下面三个参数

max_execution_time (PHP最大执行时间)

max_input_time (PHP输入时间)

Max Input Vars (PHP输入变量最大值)

前两个参数决定了当此导入任务会不会超时,而第三个参数则决定了导入的执行效率。

当然每个主题都会有他们自己建议的PHP参数设置,可以从官网网站获取建议值,某些主题安装完后在主题的选项里会有一个名为”status“这样的菜单,里面就会有讲哪些参数可能配置过低,会导致XX问题之类的,你就可以依葫芦画瓢来设定。当然如果某些主题没有明确定义PHP参数的参考值,那么就按照笔者的配置,前两者都设为300,第三者设置为10000

四、插件冲突导致不能导入模板

这个问题往往被忽略,举个例子,当我们的站点之前使用过A模板,但是我们忘记关闭了A模板随带的一些插件的话,那么当我们安装B模板尝试做导入动作时,往往会有内存溢出或者其它前端抛出的一些error,你如果会分析PHP日志,就可以看出端倪,那些问题基本上都是之前模板遗留的插件”抢占“了某些WordPress动作钩子,导致当前模板出错。所以简单来说,关闭之前主题以及随带的所有插件,然后再尝试导入模板基本上就大功告成了。

 

五、网站没有配置伪静态导致不能导入模板

其实我们已经介绍过很多次了,在主题安装之后导入模板失败,很多时候是站长的习惯不好,架设网站之初就没有对网站进行伪静态配置,因此导致固定链接无效,所以导入的页面不能被正确解析等等,这里的WordPress网站运行404错误需要进行伪静态配置其实很好介绍了如何正确在各种web server下设置伪静态。