我有一个客户,他只想向商店经理和管理员展示WooCommerce中的Square支付方法。还有其他的支付方法,他们想要隐藏类似的。例如,杆菌,鳕鱼和支票。以下代码适用于除Square以外的任何内容:
add_filter( 'woocommerce_available_payment_gateways', 'client_pmts_enable_manager' );
function client_pmts_enable_manager( $available_gateways ) {
if ( isset( $available_gateways['bacs'] ) && ! current_user_can( 'manage_woocommerce' ) ) {
unset( $available_gateways['bacs'] );
}
if ( isset( $available_gateways['cod'] ) && ! current_user_can( 'manage_woocommerce' ) ) {
unset( $available_gateways['cod'] );
}
if ( isset( $available_gateways['cheque'] ) && ! current_user_can( 'manage_woocommerce' ) ) {
unset( $available_gateways['cheque'] );
}
if ( isset( $available_gateways['square'] ) && ! current_user_can( 'manage_woocommerce' ) ) {
unset( $available_gateways['square'] );
}
return $available_gateways;
}有人能帮我找到Square网关的名称吗?这样我就可以为非管理员/商店经理取消它了吗?
发布于 2021-09-14 16:38:28
尝试使用以下方法,我认为ID实际上是"square_credit_card":
add_filter( 'woocommerce_available_payment_gateways', 'client_pmts_enable_manager' );
function client_pmts_enable_manager( $available_gateways ) {
if ( isset( $available_gateways['bacs'] ) && ! current_user_can( 'manage_woocommerce' ) ) {
unset( $available_gateways['bacs'] );
}
if ( isset( $available_gateways['cod'] ) && ! current_user_can( 'manage_woocommerce' ) ) {
unset( $available_gateways['cod'] );
}
if ( isset( $available_gateways['cheque'] ) && ! current_user_can( 'manage_woocommerce' ) ) {
unset( $available_gateways['cheque'] );
}
if ( isset( $available_gateways['square_credit_card'] ) && ! current_user_can( 'manage_woocommerce' ) ) {
unset( $available_gateways['square_credit_card'] );
}
return $available_gateways;
}https://stackoverflow.com/questions/69177087
复制相似问题