【问题标题】:Move variations under product thumbnail在产品缩略图下移动变体
【发布时间】:2022-01-18 13:50:31
【问题描述】:

我正在尝试移动缩略图下的变体,但我不确定从哪里开始。我应该使用钩子还是模板?

这就是我想要做的:

如果您遇到此问题,请随时给我一些想法甚至解决方案!

【问题讨论】:

  • 从整个表格开始,您将需要进行大量更改。您可以像这样在图像下移动整个表单 remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); add_action('woocommerce_product_thumbnails','woocommerce_template_single_add_to_cart',30); .或者使用所需的设计构建您自己的表单。
  • 对于我自己设计的表单,我已经使用了一个插件,可以将变化转换成我想要的样子。我只是想在我的缩略图下移动表单:) 我会尝试删除并添加操作,但似乎钩子“woocommerce_product_thumbnail”并不总是有效?
  • 我不明白你所说的“一直不工作”是什么意思。
  • 当我说“一直不工作”时,我指的是钩子指南:businessbloomer.com/…。也许我错了(我会很高兴!)。会今晚测试一下!
  • “新的 WooCommerce 使用 jQuery 产品库,因此“woocommerce_product_thumbnails”可能不起作用。”但是由于主题覆盖钩子,相同的可以指代可能不适用于特定主题。它经过测试并在店面完美运行,所以 gl :)

标签: wordpress woocommerce


【解决方案1】:

您可以使用woocommerce_product_thumbnails 在缩略图下添加您的变体。您需要删除默认的 woocommerce_variable_add_to_cart 动作挂钩。试试下面的代码。代码将进入您的 functions.php 文件。

function move_variation_under_thumbnail(){

    remove_action( 'woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30 );
    
    global $product;

    // Enqueue variation scripts.
    wp_enqueue_script( 'wc-add-to-cart-variation' );

    // Get Available variations?
    $get_variations = count( $product->get_children() ) <= apply_filters( 'woocommerce_ajax_variation_threshold', 30, $product );

    // Load the template.
    wc_get_template(
        'single-product/add-to-cart/variable.php',
        array(
            'available_variations' => $get_variations ? $product->get_available_variations() : false,
            'attributes'           => $product->get_variation_attributes(),
            'selected_attributes'  => $product->get_default_attributes(),
        )
    );

}

add_action( 'woocommerce_product_thumbnails', 'move_variation_under_thumbnail', 10 );

或者你可以按照Martin Mircev的建议在下面做。

remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); 
add_action( 'woocommerce_product_thumbnails', 'woocommerce_template_single_add_to_cart', 30 );ommerce_product_thumbnails', 'woocommerce_template_single_add_to_cart', 30 );

经过测试且有效

【讨论】:

  • 对于 2 行代码来说太复杂了...
  • 测试了您的解决方案,没有任何改变。经过测试的 Martin 解决方案,变化消失了。
  • 你使用的是哪个主题?
  • 我正在使用 Salient :)
  • 编辑:问题是由于与名为“WooCommerce 的附加变体图像库”的插件发生冲突。停用它可以解决问题。
猜你喜欢
  • 2022-01-15
  • 2019-02-04
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 2018-04-28
  • 2014-12-05
  • 1970-01-01
相关资源
最近更新 更多