今天折腾的WP网站装了个收费的ecommerce插件,叫WP eStore,说实话感觉这个插件并不比免费的强大多少,还是很多人买。按照移植WordPress的方法折腾完,看起来很不错一切都没问题,访问到Store页面的时候,问题来了,eStore的shortcode报错,说指定的id不存在咋回事。
赶快去后台看看eStore的产品列表,狂晕了,产品、分类全没了,只剩下一些基本配置信息,这些都是存在WordPress的表里的,当然不会没,看来eStore自己的数据库有问题的概率很大。在本机没事,在服务器上就不行。那问题一定是服务器和本地配置不同导致的。
打开WordPress的debug功能,看了一眼错误信息,发现列出产品的页面提示一个数据表不存在,去phpmyadmin里看了下,明明就有啊,怎么睁着眼说瞎话呢,不过程序是不会骗人的,我看不出来只是因为还没看对,仔细看….再仔细看….
原来是数据库对大小写敏感,而eStore程序里写的数据库表名字和数据库里实际的表名大小写不同,例如
文件里要的是wp_wp_eStore_tbl
数据库里的是wp_wp_estore_tbl
不知道作者是不是只在windows主机上测试呢,改了数据库表名称后问题就解决了。
话说作者的论坛里也有人遇到了同样的问题,作者的回复是移植的步骤不对或者移植的时候数据库表没拷贝全,提问的人最后貌似很郁闷