显示非会员的WooCommerce会员资格价格

时间:2018-09-18 17:52:44

标签: php wordpress woocommerce price woocommerce-memberships

我正在使用WooCommerce Membership插件在“产品”页面上显示会员折扣。现在,我想显示非会员制会员可以获得的折扣。

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

This is what i see when i'm not a member

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

This is what I see when I'm a member

  

这是我不是会员时要查看的内容:

     

This is what i want to see when i'm not a member

2 个答案:

答案 0 :(得分:0)

我找到了解决方法:

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

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

让我知道。

答案 1 :(得分:0)

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

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>';
        }
    }
}

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

enter image description here

这应该是插件 IMO 的一个功能。但是??‍♂️