如果用户未登录,如何在woocommerce中隐藏付款选项?

时间:2018-07-28 13:19:17

标签: php wordpress woocommerce

我正在使用functions.php中的自定义函数来隐藏付款选项,以防用户属于某个角色。现在,如果用户未登录,我也想隐藏该选项。我尝试使用“ is_user_logged_in”,但是这似乎不适用于我。

这是我在functions.php中的代码:

function invoice_manager( $available_gateways ) {


global $woocommerce;
if ( isset( $available_gateways['invoice'] ) && current_user_can('customer') || !is_user_logged_in()   ) {
unset( $available_gateways['invoice'] );
} 
r

eturn $available_gateways;
}


add_filter( 'woocommerce_available_payment_gateways', 'invoice_manager' );

1 个答案:

答案 0 :(得分:2)

像这样更改您的if语句:

if ( isset( $available_gateways['invoice'] ) && ( current_user_can('customer') || !is_user_logged_in() )   ) {
    unset( $available_gateways['invoice'] );
}