gpt4 book ai didi

php - 获取自定义支付网关数据作为 Woocommerce 3 中的设置

转载 作者:行者123 更新时间:2023-12-04 14:52:16 25 4
gpt4 key购买 nike

我正在制作一个自定义支付网关。复杂的部分进展顺利,但我现在已经被困在一些愚蠢的事情上好几个小时了。

我已经为网关创建了自定义设置,没有问题,可以设置和保存,但我不知道如何在其他功能中调用它们。

如果我将 var_dump($this->get_option('title')) 放在自定义网关类(扩展 WC_Payment_Gateway)中,它将正确显示在顶部的设置页面。在其他地方,它不会。我现在已经尝试了数百种方法,比如尝试通过 $this = new WC_Custom_Gateway 访问这个类,公开涉及的函数,以及利用 init_settings().. 我敢肯定有一个非常简单的解决方案,但作为初学者,我只是看不到它。我也试过检查其他人的工作也无济于事。

如何使这些设置在定义它们的类之外可用?

最佳答案

使用以下代码,您可以使用 WC_Payment_Gateways 显示支付网关设置中的必要数据和 WC_Payment_Gateway这种方法:

// HERE define you payment gateway ID (from $this->id in your plugin code)
$payment_gateway_id = 'bacs';

// Get an instance of the WC_Payment_Gateways object
$payment_gateways = WC_Payment_Gateways::instance();

// Get the desired WC_Payment_Gateway object
$payment_gateway = $payment_gateways->payment_gateways()[$payment_gateway_id];

// Display saved Settings example:
echo '<p>Title: ' . $payment_gateway->title . '</p>';
echo '<p>Description: ' . $payment_gateway->description . '</p>';
echo '<p>Instructions: ' . $payment_gateway->instructions . '</p>';

// Display all the raw data for this payment gateway
echo '<pre>'; print_r( $payment_gateway ); echo '</pre>';

或者,您也可以使用这种更短的方式:

// You will have to replace 'bacs' by your payment gateway ID (from $this->id in your plugin code)
$payment_gateway = WC()->payment_gateways->payment_gateways()['bacs'];

// and so on …

经过测试并且有效。

You can also use some WC_Payment_Gateway methods on $payment_gateway

关于php - 获取自定义支付网关数据作为 Woocommerce 3 中的设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52844146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com