WooCommerce定制支付网关

时间:2013-10-30 作者:Zack

我正在尝试为客户的网站编写WooCommerce插件,他们将向客户出售订阅。我一直在探索我的选择,我能想出的最好办法就是推出我自己的支付网关模块来处理这个问题。(如果有人曾经处理过类似的问题,请给出其他建议)。

然而,我正在尝试添加一个自定义支付网关,但它似乎没有起作用。它不会出现在下面WooCommerce -> Settings -> Payment Gateways. 插件是在WordPress中安装和激活的,我遵循了couple guides from 他们的文档页面。

WooCommerce版本:2.0.18(通过插件安装程序)gist code我真的不知道为什么或者什么原因导致我的支付网关没有出现。

谢谢你以后的帮助。

1 个回复
最合适的回答,由SO网友:webaware 整理而成

对,所以要点是你的代码;从你的描述中,我以为你读的是别人的代码来获得灵感。

你的woostripe。加载网关类的php文件在加载网关类之前退出:

// bail on constructor if gateway class isn\'t loaded!
if (!class_exists(\'WooStripe_Gateway\')) return;
// ...  
// why are you attempting to load WooCommerce\'s classes? Don\'t!
include_once(dirname(plugin_basename(\'woocommerce.php\')) . \'classese/abstracts/abstract-wc-payment-gateway.php\');
// never gets here to load this class, you\'ve already left this function...
include_once(dirname(plugin_basename(__FILE__)) . \'classes/WooStripe_Gateway.php\');
删除WooCommerce类的include语句,这是WooCommerce的工作,而不是你的工作。然后将WooStripe\\u Gateway include移至woocommerce_gateway_init() before 测试以查看它是否存在。该类在加载之前不能存在。

结束

相关推荐

Security and Must Use Plugins

从codex article 必须使用插件:只需将文件上载到mu插件目录即可启用,无需登录我觉得这是一个潜在的安全问题。在站点上运行插件中的任何代码之前,必须通过管理面板激活常规插件。我一直认为这是一个明智的安全预防措施,因为攻击者如果能够以某种方式将文件上载到plugins文件夹,则在运行代码之前,还必须访问和修改数据库。这个mu-plugins 文件夹似乎提供了一种简单的方法来避免这种情况。我知道WordPress开发人员比我更了解安全性,所以我想知道是否有人能解释为什么这不是一个安全漏洞。