• 断然的 亚历杭德罗·桑切斯。

    (@elpanda13gmailcom)


    大家好,我只是想让你们知道一个你们可以做的改进,这将使插件自动与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合作,但如果您告诉我如何发送,我完全可以为您发送更改。

查看1条回复(共1条)
查看1条回复(共1条)
  • “WPML兼容性”主题对新回复关闭。