在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);
}
}
}
它可以很好地用于重复价格,但我想更改订阅产品的注册费。我可以为此使用什么功能或钩子?
答案 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文件中。经过测试,可以正常工作。