代码之家  ›  专栏  ›  技术社区  ›  AaronDT

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

  •  1
  • AaronDT  · 技术社区  · 7 年前

    我使用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 回复  |  直到 7 年前
        1
  •  2
  •   jrswgtr Kushal Chavan    7 年前

    更改if语句如下:

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