更改WooCommerce订阅产品的注册费购物车项目价格

时间:2020-05-01 20:17:29

标签: php wordpress woocommerce cart woocommerce-subscriptions

在WooCommerce中,我使用以下挂钩函数更改购物车中产品的价格:

add_action('woocommerce_before_calculate_totals', 'set_custom_price',1000,1);
function set_custom_price($cart_obj) {
    foreach ($cart_obj->get_cart() as $key => $value) {
        if($value['alredy_have_number'] == true) {
            $value['data']->set_price(0.90);
        }
    }
}

它可以很好地用于重复价格,但我想更改订阅产品的注册费。我可以为此使用什么功能或钩子?

1 个答案:

答案 0 :(得分:1)

要更改一些购物车特定的元数据,例如订阅注册费用,您将使用ERROR: Command errored out with exit status 1: command: 'location\pypy\pypy3.exe' ''location\pypy\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel ''location\AppData\Local\Temp\tmpluhuycvs' cwd: 'location\AppData\Local\Temp\pip-install-p1iknxr7\scipy Complete output (100 lines): lapack_opt_info: lapack_mkl_info: libraries mkl_rt not found in ['C:\\', ''location\\pypy_projekt\\pypy\\libs'] NOT AVAILABLE openblas_lapack_info: libraries openblas not found in ['C:\\', ''location\\pypy_projekt\\pypy\\libs'] NOT AVAILABLE system_info: NOT AVAILABLE atlas_3_10_threads_info: Setting PTATLAS=ATLAS libraries tatlas,tatlas not found in C:\ libraries lapack_atlas not found in C:\ libraries tatlas,tatlas not found in 'location\pypy_projekt\pypy\libs libraries lapack_atlas not found in 'location\pypy_projekt\pypy\libs <class 'numpy.distutils.system_info.atlas_3_10_threads_info'> NOT AVAILABLE atlas_3_10_info: libraries satlas,satlas not found in C:\ libraries lapack_atlas not found in C:\ libraries satlas,satlas not found in 'location\pypy_projekt\pypy\libs libraries lapack_atlas not found in 'location\pypy_projekt\pypy\libs <class 'numpy.distutils.system_info.atlas_3_10_info'> NOT AVAILABLE atlas_threads_info: Setting PTATLAS=ATLAS libraries ptf77blas,ptcblas,atlas not found in C:\ libraries lapack_atlas not found in C:\ libraries ptf77blas,ptcblas,atlas not found in 'location\pypy_projekt\pypy\libs libraries lapack_atlas not found in 'location\pypy_projekt\pypy\libs <class 'numpy.distutils.system_info.atlas_threads_info'> NOT AVAILABLE atlas_info: libraries f77blas,cblas,atlas not found in C:\ libraries lapack_atlas not found in C:\ libraries f77blas,cblas,atlas not found in 'location\pypy_projekt\pypy\libs libraries lapack_atlas not found in 'location\pypy_projekt\pypy\libs <class 'numpy.distutils.system_info.atlas_info'> NOT AVAILABLE lapack_info: libraries lapack not found in ['C:\\', ''location\\pypy_projekt\\pypy\\libs'] NOT AVAILABLE lapack_src_info: NOT AVAILABLE NOT AVAILABLE 方法update_meta_data()任何WC_Data对象(例如订阅产品)。

要使用的相关订阅注册费用 WC_Product_subscription_sign_up_fee,因此在挂钩的功能代码中,您将以这种方式使用它来更改价格:

meta_key

代码进入活动子主题(或活动主题)的functions.php文件中。经过测试,可以正常工作。