【发布时间】:2021-01-26 21:06:24
【问题描述】:
各位,
我在结帐页面上使用了两个支付网关:
1° bacs = 银行转帐
2° cod = 货到付款
我需要隐藏支付网关COD = 货到付款,如果用户没有管理员配置文件 (!is_user_admin()),||或者它没有被记录,|| ! is_user_logged_in() 然后隐藏。
这是我正在使用的代码,它正在工作。
add_filter( 'woocommerce_available_payment_gateways', 'bbloomer_cod_hide' );
function bbloomer_cod_hide( $available_gateways ) {
if ( isset( $available_gateways['cod']) && !is_user_admin() ) {
unset( $available_gateways['cod'] );
}
return $available_gateways;
}
问题是……支付网关bacs = 银行转帐也受到影响和隐藏:)
所以我尝试了另一个钩子
add_filter( 'woocommerce_available_payment_gateways', 'transfer_enable_bacs' );
function transfer_enable_bacs( $available_gateways ) {
if ( isset( $available_gateways['bacs']) && !is_user_admin() ) {
//unset( $available_gateways['bacs'] );
}
return $available_gateways;
}
但这不是正确的解决方案。两个支付网关都是隐藏的。
请问我做错了什么?
感谢!
【问题讨论】:
标签: php wordpress woocommerce payment-gateway hook-woocommerce