我已经对eBay支付网关文件进行了更改,因为我想更改PayPal按钮文本以说出其他内容。我认为这是我最好的解决方案,因为我不熟悉我自己的钩子/过滤器。
我已经检查过这个修改过的模板文件有效 - 确实如此。但是,当我将其加载到我的主题文件时,它不会覆盖。
我试过了:
这些都不起作用......任何人都可以帮助我吗?
提前致谢: - )
答案 0 :(得分:5)
似乎没有覆盖您问题的解决方案。但您可以添加一个全新的支付网关
只需扩展WC_Payment_Gateway
类,换句话说就是添加另一个支付网关。
第1步
您可以复制文件:
plugins/woocommerce/includes/gateways/class-wc-gateway-paypal.php
在您的目录主题中,为方便起见更改其名称并将其包含在functions.php中:
/* Custom gateway class */
require( get_template_directory() . '/path/to/class-wc-gateway-paypal-custom.php' );
第2步
此文件包含扩展WC_Gateway_Paypal
的{{1}}类。您可以编辑此文件以进行自定义。
请记住更改扩展程序类的名称:
WC_Payment_Gateway
试一试,如果您遇到困难,请告诉我们! :)
更新 2014年6月13日
知道有一个允许您更改贝宝图像的过滤器也很有用,所以:
class WC_Gateway_Paypal_Custom extends WC_Payment_Gateway {
public function __construct() {
$this->id = 'paypal';
$this->icon = apply_filters( 'woocommerce_paypal_icon', WC()->plugin_url() . '/assets/images/icons/paypal.png' );
$this->has_fields = false;
// Change the text in the way you like it
$this->order_button_text = __( 'Proceed to PayPal', 'woocommerce' );
$this->liveurl = 'https://www.paypal.com/cgi-bin/webscr';
$this->testurl = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
$this->method_title = __( 'PayPal', 'woocommerce' );
$this->notify_url = WC()->api_request_url( 'WC_Gateway_Paypal' );
}
//other payment gateway stuff
}