在 WooCommerce 追加销售(链接产品)之前显示自定义属性

Display custom attributes before WooCommerce upsells ( linked products)

我设法显示了自定义属性,但它们显示在链接的产品之后如何让它们显示在前面?

左边:我目前拥有的,右边是想要的结果

谢谢

如果您查看 woocommerce 模板 content-single-product.php,您会看到:

/**
 * woocommerce_after_single_product_summary hook.
 *
 * @hooked woocommerce_output_product_data_tabs - 10
 * @hooked woocommerce_upsell_display - 15
 * @hooked woocommerce_output_related_products - 20
 */
do_action( 'woocommerce_after_single_product_summary' );

也就是说在woocommerce_after_single_product_summary钩子中,显示如下:

  1. 首先(优先级为 10)产品标签,
  2. 然后(优先级为 15)加售,
  3. 并完成(优先级为 20)相关产品。

因此,如果您想在产品选项卡和加售之间显示您的自定义代码,您将需要使用挂钩在 woocommerce_after_single_product_summary 操作挂钩中的自定义函数11 到 14 之间的优先级。

你可以这样做:

add_action('woocommerce_after_single_product_summary', 'custom_code_after_single_product_summary', 12 );
function custom_code_after_single_product_summary() {
    global $product;

    // Set here your post "meta_key" for your custom product attribute
    $meta_key1 = 'pa_when-to-use';

    // Your code (related to your comment):
    echo get_post_meta($product->get_id(),  $meta_key1, true);
}

代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件。

已在 WooCommerce 3+ 上测试和运行……