最近在做一个基于收费主题、WooCommerceWPML的电子商务多语言网站,项目时间比较长,所以经历了几次主题插件升级,遇到一大堆让人郁闷的问题。

先说收费主题Jupiter

Jupiter主题是一款让人喜欢又害怕的主题,优点很多,比如:

  • 自带Visual Editor,主题扩展的模块比原始插件实用得多,可视化操作强,简单的拖拽就可以做出很专业的页面
  • 主题灵活度非常高,可为每页单独分配Sidebar,设置布局,创建和管理自定义Sidebar
  • 主题的Theme Options很实用,支持WooCommerce和WPML

Jupiter不仅是一款主题,还可当做建站工具,不懂任何代码也能做出精美的网页。

然而,主题越复杂,运行速度越慢,缺点是不可避免的:

  • Visual Editor运行速度很慢,有些模块会把浏览器卡死
  • 主题加载的js css很多,用bwp minify压缩后,谷歌pageinsights得分依旧不及格
  • 选项太多,有一定的学习成本

但这一切都比不过两个问题:主题升级和bug

用Child Theme也不保证安全升级

这个主题最近就像坐上了火箭,几天升级一次,每次变化之大让人吐血。

第一次升级,visual editor脱胎换骨,所以内容基本都毁了,重新加吧,幸好网站没上线,只是些演示内容,不然死的心都有了。

第二次升级,bug乍现,一个支持视频灯箱效果的模块,写了视频地址就挂掉了。

第三次升级,child theme欲哭无泪,因为定制化需要更改header.php的内容,结果主题的函数定义变了不说,header.php里还多了很多js代码,这些代码完全那可以用action加进去,没必要直接写到header.php的,但事情就这样了。每次升级都得检查一下header.php。如果想安全,老老实实改改样式表就行了,别想干别的。及时只改样式表,也可能被升级后的parent theme样式搞乱。

第四次升级,出了些很初级的错误,加载脚本只需要wp_enqueue_scripts一个action,主题不但没用这个action,还把加载脚本的函数挂到init和wp_head两个action上,不知道作者为什么会犯这种初级错误。

综上所述

用收费主题要小心,不懂代码的朋友最好不要做太多定制化,否则主题升级时会出什么乱子都不好说。尽量利用主题提供的功能做自己想要的效果。

用 child theme时,尽量只修改样式表,修改功能尽量通过在functions.php中使用action和filter实现,实在需要修改模版的话,遇到parent theme升级时要把新模版和child theme里的模版比对一下,有变化就得做相应修改。修改的模版太多,升级难度恐怕跟直接修改parent theme没区别了。

9条留言

  1. sellya貌似不错,主题后台一样慢,但是自己支持rich snippets

  2. 以前用过一款国外主题,升级飞快啊,打了鸡血似的,更新几次后已经同以前的样子完全不一样了,我是喜欢以前的样子才用的好吧~~

  3. mystile不错 不过貌似免费的

    1. 这不是woothemes自己出的免费电子商务主题么,也不错啦,不过woothemes的shortcode还是比不上visual editor好用。

      1. 太复杂也不会整 ,这玩意能在SAE上跑起来 已经是奇迹了

  4. 最近我也在用这个主题,感觉 bug 不是一点点,升级到 3.1 了。不知道可不可以简化提取出来,只用自己使用的样式。

    1. 如果只是想要样式,真不如直接做个新的来得快,这主题很多样式是用php动态生成的。

  5. 国外好多主题都那样,比wordpress源文件体积还打,动不动就数兆数十兆的,看着就头大。

    1. 没错,适合所有人的和很难适合每一个人

评论功能已关闭