今天给一客户写woocommerce插件的支付扩展插件,在集成支付网关类的时候提示Class 'WC_Payment_Gateway' not found in
,各种谷歌无果后,开试从另外角度考虑解决方案,果然在网上看到了关于WP插件执行顺序的文章。终于解决了问题。
默认情况下,wordpress都是按照插件名称(还是文件夹)的首写字母来进行排序执行的,刚好我们手贱了一把,常规性的把插件打上了WB开始的文件名+ 插件名,执行顺序排到了WOOCOMMERCE的前面,固产生了错误。
修复方法有两种:
1、简单粗暴的方法: 修改插件名称和文件夹名。(我就是这么干的);
2、用钩子来控制插件的执行顺序。
具体的代码就不上了,我爱水煮鱼那边有现成的代码和文章,通常如果我们是自己开发的插件的话,建议还是还名字比较好,因为多几行代码,多一点执行时间。当然这个全凭个人喜好啦。