php - 在 Woocommerce 中将选定的变体价格移动到产品附加组件表单下方
问题描述
我有官方的WooCommerce 产品插件插件,我在可变产品上使用它。但是,我希望价格显示在添加到购物车按钮上方,而不是在变体选择列表下方,因为它现在没有。
我到处查看,我已将单个产品的价格移至简短描述下方,但无法为带有产品附加组件的可变产品执行此操作。
显示当前位置和所需位置的屏幕截图:
任何帮助是极大的赞赏。
解决方案
WooCommerce Product Addon 的插件在添加到购物车按钮之前已经显示了一个自定义定价表,其中显示了所选的变体价格,所选的选项定价与小计:
您不能只单独移动显示的选定变体价格,因为它由实时选择事件中的 javascript 驱动,并与变体可用性和变体描述(如果有)分组。
所以你可以做的是:
1) 在添加到购物车按钮之前使用其可用性和描述移动变体价格:
add_action( 'woocommerce_before_variations_form', 'reposition_display_for_variable_products', 10 );
function reposition_display_for_variable_products() {
global $product;
if( $product_addons = $product->get_meta('_product_addons') ) {
if( sizeof($product_addons) > 0 ) {
remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 10 );
add_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 16 );
}
}
}
代码位于您的活动子主题(或活动主题)的 function.php 文件中。测试和工作。
但它将显示在自定义“插件”定价表之后:
2)隐藏 Woocommerce 变体价格(因为它已经由自定义“插件”定价表显示)
add_filter( 'woocommerce_available_variation', 'hide_variation_selected_price', 10, 3 );
function hide_variation_selected_price( $data, $product, $variation ) {
if( $product_addons = $product->get_meta('_product_addons') ) {
if( sizeof($product_addons) > 0 ) {
$data['price_html'] = '';
}
}
return $data;
}
代码位于您的活动子主题(或活动主题)的 function.php 文件中。测试和工作。
3)一起使用,在“插件”定价表之后和添加到购物车按钮之前移动变体可用性和变体描述:
推荐阅读
- java - 找到最接近 3 个随机数平均值的数字
- python - 如果有任何标点符号,Python 正则表达式将删除整个单词
- python - 如何让 python 识别安装在虚拟环境中的模块?
- c++ - 从 C++ lambda 函数创建 MPI 约简运算符
- typescript - 条件检查后调用的打字稿类型检查函数
- python - Lxml 在云功能中不起作用?该怎么办?
- google-colaboratory - 是否有在 Colab 中使用 python 变量运行脚本的更新方法?
- blockly - 块状文本中的自动完成
- random - 添加随机效果时出现 bam 错误:数据必须是 data.frame
- android - ViewPager 如何作为 ViewGroup/Container 工作