我想在添加到购物车按钮下方的Woocommerce中移动我的产品变体描述,我找不到我应该使用的钩子。这些是变体的自定义描述,加载了AJAX中的选择。
我可以在添加到购物车按钮下面挂钩另一个自定义功能。所以我认为我的问题是不知道钩子的名称和/或它是否是一个钩子和一个过滤器。我认为它是woocommerce_before_single_variation
或woocommerce_before_add_to_cart_button
。
以前我曾尝试过多次尝试,但在functions.php
中没有运气:
remove_action( 'woocommerce_after_single_variation','woocommerce_single_product_summary', 20 );
add_action( 'woocommerce_after_single_variation', 'woocommerce_single_product_summary', 9 );
//try #2
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20);
add_action('woocommerce_after_add_to_cart_button', 'woocommerce_single_variation', 35);
谢谢!
答案 0 :(得分:1)
我正在寻找的功能作为默认包含在WooCommerce 2.4中,但是在钩子上不完成。它是由jQuery更新div而添加的 - 我在woocommerce/js/assets/frontend/add-to-cart-variation.js
中找到了它。所以我移动了div的位置:
add_action ('woocommerce_after_single_variation', 'move_descriptions', 50);
function move_descriptions() {
?>
<div class="woocommerce-variation-description" style="border: 1px solid transparent; height: auto;"></div>
<?php
}
答案 1 :(得分:0)
我认为这样做,
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20);
add_action('woocommerce_after_add_to_cart_form', 'woocommerce_template_single_excerpt');
如果产品是可变的,只移动简短描述
add_action('wp_head', 'move_short_desc_for_varition');
function move_short_desc_for_varition() {
#
global $post;
$product = get_product( $post->ID );
if( $product->is_type( 'variable' ) ){
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20);
add_action('woocommerce_after_add_to_cart_form', 'woocommerce_template_single_excerpt');
}
}
答案 2 :(得分:0)
问题在于删除钩子的优先级。
我举个例子(这项工作对我来说):
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20);
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30);
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 15 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 10 );
注意并尝试不同的优先事项。