Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果用户未登录,如何在woocommerce中隐藏付款选项?_Php_Wordpress_Woocommerce - Fatal编程技术网

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

Php 如果用户未登录,如何在woocommerce中隐藏付款选项?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我在functions.php中使用一个自定义函数来隐藏付款选项,以防用户属于某个角色。现在,如果用户未登录,我还想隐藏该选项。我尝试过使用“is_user_logged_in”,但这似乎对我不起作用 下面是我在functions.php中的代码: function invoice_manager( $available_gateways ) { global $woocommerce; if ( isset( $available_gateways['invoice'] ) &&a

我在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' );

更改您的if语句,如下所示:

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