大家好,我只是想让你们知道一个你们可以做的改进,这将使插件自动与WPML兼容,并将使用WordPress最佳实践,因为有些事情你们不应该做。
In\woommerce-gateway-payu-pl\classes\class-payu-rest-api中
在第72至74行中,您有以下内容:
公共函数get_notify_url($order){if($order->get_total()==0){return site_url('?wc-api=wc_Gateway_Payu&rest_api=1&order_id='.wpdesk_get_order_id($order)'&order_type=试用版');}其他{return site_url('?wc-api=wc_Gateway_Payu&rest_api=1&order_id='.wpdesk_get_order_id($order));}}
“site_url”根据内容在服务器中的位置检索url,这不是检索站点url的最佳方法(没错,函数的名称有点欺骗性)
相反,您可能想使用“home_url”,这是检索站点url的正确方法。
所以代码应该如下所示
公共函数get_notify_url($order){if($order->get_total()==0){return home_url('?wc-api=wc_Gateway_Payu&rest_api=1&order_id='.wpdesk_get_order_id($order)'&order_type=试用版');}其他{return home_url('?wc-api=wc_Gateway_Payu&rest_api=1&order_id='.wpdesk_get_order_id($order));}}
正如您所看到的,这与WPML本身无关,但它有助于实现兼容性。原因是,在这种特定情况下,使用site_url将始终检索数据库中的标准站点url条目(而不是您应该使用的home_url中的条目),并且如果没有自定义编码,将无法与WPML兼容。
我不知道如何发送“拉请求”,因为我不与SVN hehe合作,但如果您告诉我如何发送,我完全可以为您发送更改。