在 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
钩子中,显示如下:
- 首先(优先级为 10)产品标签,
- 然后(优先级为 15)加售,
- 并完成(优先级为 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+ 上测试和运行……
我设法显示了自定义属性,但它们显示在链接的产品之后如何让它们显示在前面?
左边:我目前拥有的,右边是想要的结果
谢谢
如果您查看 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
钩子中,显示如下:
- 首先(优先级为 10)产品标签,
- 然后(优先级为 15)加售,
- 并完成(优先级为 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+ 上测试和运行……