搜索热词

WordPress中文社区 > 帖子 > WordPress能否实现不登陆下载功能?

WordPress能否实现不登陆下载功能?

WordPress能否实现不登陆付款功能?就是游客可以直接付款。wordpress+woocommerce已经装好,但是发现不论这么设置都实现不了这个功能,到付款页面后要求必须注册。

发布于04月19日 被浏览 3,097 次
点赞 收藏 打赏 分享

    2 个回答

  1. WordPress日记

    在后台-woocommerce-设置-账户和隐私中是否勾选了“允许客户在没有帐户的情况下下单”呢?如果勾选了还不行,有可能是你使用的支付插件强制需要登录状态下才能下单付款

  2. WordPress日记

    这个是需要使用代码,通过woocommerce的钩子进行实现的,你可以试着把下面代码放到你主题的functions.php中,因为我没有测试,所以只能你自己去尝试一下

    function your_custom_function_name( $allcaps, $caps, $args ) {
    if ( isset( $caps[0] ) ) {
    switch ( $caps[0] ) {
    case 'pay_for_order' :
    
    
    $order_id = isset( $args[2] ) ? $args[2] : null;
    $order = wc_get_order( $order_id );
    $user = $order->get_user();
    $user_id = $user->ID;
    
    // When no order ID, we assume it's a new order
    // and thus, customer can pay for it
    if ( ! $order_id ) {
      $allcaps['pay_for_order'] = true;
      break;
    }
    
    $order = wc_get_order( $order_id );
    
    if ( $order && ( $user_id == $order->get_user_id() || ! $order->get_user_id() ) ) {
      $allcaps['pay_for_order'] = true;
    }
    break;
    }
    }
    
    return $allcaps;
    }
    
    add_filter( 'user_has_cap', 'your_custom_function_name', 10, 3 );

    另外,以上代码即使可以实现免登录付款,但是你如果想要还能免登录下载,你还是需要继续用代码来实现的,所以,如果你没有代码基础,可能完全实现你的思路有点儿困难。

撰写回答

无意义的回答将很快被删除,账号将被禁止发言。 提交回答