2

我想在内容之前添加一个购物车按钮和数量。我正在使用这个钩子但不工作

add_action('woocommerce_before_main_content',
           'woocommerce_template_single_add_to_cart', 30);

如果我想在图像下添加到购物车按钮,请使用此钩子

add_action( 'woocommerce_product_thumbnails', 
            'woocommerce_template_single_add_to_cart', 30 );

给我以下错误

无法重新声明 print_attribute_radio()(之前在 /opt/lampp/htdocs/lifeformchairs.com/wp-content/plugins/wc-variations-radio-buttons-master/templates/single-product/add-to-cart/variable 中声明。 php:17) 在第 26 行的 /opt/lampp/htdocs/lifeformchairs.com/wp-content/plugins/wc-variations-radio-buttons-master/templates/single-product/add-to-cart/variable.php

4

1 回答 1

0

添加到购物车操作在 content-single-product.php 中执行,如下所示:

<?php
    /**
     * woocommerce_single_product_summary hook
     *
     * @hooked woocommerce_template_single_title - 5
     * @hooked woocommerce_template_single_price - 10
     * @hooked woocommerce_template_single_excerpt - 20
     * @hooked woocommerce_template_single_add_to_cart - 30
     * @hooked woocommerce_template_single_meta - 40
     * @hooked woocommerce_template_single_sharing - 50
     */
    do_action( 'woocommerce_single_product_summary' );
?>

这里的数字描述了执行的特定操作的优先级。

您可以通过将其删除并将其添加到主题的 function.php 文件中来更改此优先级:

/** woocommerce: change position of add-to-cart on single product **/
remove_action( 'woocommerce_single_product_summary', 
           'woocommerce_template_single_add_to_cart', 30 );
add_action( 'woocommerce_single_product_summary', 
        'woocommerce_template_single_add_to_cart', 9 );

添加到购物车按钮现在应该显示在标题之后和价格之前,因为它的优先级是 9。

代码参考

于 2016-08-20T09:55:39.547 回答