我正在使用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' );
答案 0 :(得分:2)
像这样更改您的if语句:
if ( isset( $available_gateways['invoice'] ) && ( current_user_can('customer') || !is_user_logged_in() ) ) {
unset( $available_gateways['invoice'] );
}