2

我正在使用WooCommerce 会员插件在产品页面上显示会员折扣。现在我想显示您可以通过非会员会员获得的折扣。

这是我不是会员时看到的:

这是我不是会员时看到的

这是我成为会员时看到的:

这是我成为会员时看到的

这是我不是会员时想看到的:

这是我不是会员时想看到的

4

2 回答 2

1

我很惊讶这个问题在网上被问了多少次,仍然没有答案。这是我能够想出的解决方案:

add_action( 'woocommerce_single_product_summary', 'neonbrand_show_member_price_non_members' );
function neonbrand_show_member_price_non_members($price) {
    global $product;
    if ( $product->is_type( 'variable' ) ) {
        $variations = $product->WC_Product_Variable::get_available_variations();
        $variations_id = wp_list_pluck( $variations, 'variation_id' );

        if ( ! wc_memberships_is_user_active_member( get_current_user_id(), 'vip-membership' ) ) {
            $a = get_option( 'wc_memberships_rules' );
            foreach($a as $value) {
                if(!empty(array_intersect($variations_id, $value['object_ids']))) {
                    $discount = $value['discount_amount'];
                    $nonmember_price = $product->get_price();
                    $member_price[] = $nonmember_price - $discount;
                }
            }
            echo '<p class="price"><b><i>Member Price As Low As: $'.min($member_price).'</i></b></p>';
        }
    }
}

我对大多数产品都有变体,这就是为什么我必须实施“会员价格低至”,因为变体有不同的折扣。显然,所有这一切的动机是让人们成为会员。

在此处输入图像描述

这应该是插件 IMO 的一个功能。但是‍♂️</p>

于 2021-07-14T17:51:21.143 回答
0

我找到了一个解决方案:

 echo wc_memberships()->get_member_discounts_instance() >get_product_discount($product->id);

使用此代码,您可以找到折扣。

让我知道。

于 2020-04-24T14:19:16.273 回答