Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.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中的条件产品价格购物车问题3_Php_Wordpress_Woocommerce_Product_Price - Fatal编程技术网

Php WooCommerce中的条件产品价格购物车问题3

Php WooCommerce中的条件产品价格购物车问题3,php,wordpress,woocommerce,product,price,Php,Wordpress,Woocommerce,Product,Price,我修改了一个函数,为我的一些会员创建自定义价格,即正常价格为1美元,但如果你是青铜会员,则为2美元,银牌会员为3美元,等等 在商店和单一产品页面上更改价格。但是,当产品添加到购物车中时,价格恢复为原始金额。是否有额外的代码,我应该包括有价格准确地改变了所有的方式,通过结帐和帐单 // Variations (of a variable product) add_filter('woocommerce_variation_prices_price', 'custom_variation_price

我修改了一个函数,为我的一些会员创建自定义价格,即正常价格为1美元,但如果你是青铜会员,则为2美元,银牌会员为3美元,等等

在商店和单一产品页面上更改价格。但是,当产品添加到购物车中时,价格恢复为原始金额。是否有额外的代码,我应该包括有价格准确地改变了所有的方式,通过结帐和帐单

// Variations (of a variable product)
add_filter('woocommerce_variation_prices_price', 'custom_variation_price', 99, 3 );
add_filter('woocommerce_variation_prices_regular_price', 'custom_variation_price', 99, 3 );
function custom_variation_price( $price, $variation, $product ) {

global $product;
$id = $product->get_id();

$user_id = get_current_user_id();
$plan_id = 1628;

  if ( wc_memberships_is_user_member( $user_id, $plan_id )  ) {

  $new = $price * 2;  

  return ($new);
  }

}

使用您的代码,您只需更改显示的变化价格范围。因此,您需要更多的信息:

// Simple, grouped and external products
add_filter('woocommerce_product_get_price', 'custom_price', 90, 2 );
add_filter('woocommerce_product_get_regular_price', 'custom_price', 90, 2 );

// Product variations (of a variable product)
add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2 );
add_filter('woocommerce_product_variation_get_price', 'custom_price', 90, 2 );

// Variable product price ramge
add_filter('woocommerce_variation_prices_price', 'custom_variation_price', 90, 3 );
add_filter('woocommerce_variation_prices_regular_price', 'custom_variation_price', 90, 3 );

function custom_price( $price, $product ) {
    // Only logged in users
    if ( ! is_user_logged_in() ) return $price; 

    // HERE the defined plan ID
    $plan_id = 1628;

    if ( wc_memberships_is_user_member( get_current_user_id(), $plan_id )  ) {
        $price *= 2; // set price x 2
    }
    return $price;
}

function custom_variation_price( $price, $variation, $product ) {
    // Only logged in users
    if ( ! is_user_logged_in() ) return $price; 

    // HERE the defined plan ID
    $plan_id = 1628;

    if ( wc_memberships_is_user_member( get_current_user_id(), $plan_id )  ) {
        $price *= 2; // set price x 2
    }
    return $price;
}
代码进入活动子主题(或活动主题)的function.php文件

在woocommerce 3上测试并工作+

现在,购物车中的自定义价格也将反映出来