我正在尝试将产品标签从 woocommerce_after_single_product_summary 移动到 woocommerce_before_single_product_summary。从本质上讲,我想用具有图片库的选项卡替换单个产品上的产品图像,但所有其他选项卡都显示在同一个容器中。我在尝试让标签周围的容器像图像周围的容器一样时遇到问题,但让我感到困惑的是如何从 woocommerce_after_single_product_summary 部分中删除标签。我可以从同一部分删除“相关产品”没问题,但我所做的一切都没有改变标签。
这可以很好地删除图像:
remove_action ('woocommerce_before_single_product_summary',
'woocommerce_show_product_images',20);
Run Code Online (Sandbox Code Playgroud)
这可以很好地在其位置添加选项卡(容器问题除外):
add_action( 'woocommerce_before_single_product_summary',
'woocommerce_output_product_data_tabs', 20 );
Run Code Online (Sandbox Code Playgroud)
但这似乎永远不会摆脱标签:
remove_action( 'woocommerce_after_single_product_summary',
'woocommerce_output_product_data_tabs', 10 );
Run Code Online (Sandbox Code Playgroud)
我已经检查过 10 是正确的数字(我发现确实有所不同),但它是正确的。我将 add_action 追踪到 woocommerce/includes/wc-template-hooks.php:
/**
* After Single Products Summary Div.
*
* @see woocommerce_output_product_data_tabs()
* @see woocommerce_upsell_display()
* @see woocommerce_output_related_products()
*/
add_action( 'woocommerce_after_single_product_summary',
'woocommerce_output_product_data_tabs', 10 );
add_action( 'woocommerce_after_single_product_summary',
'woocommerce_upsell_display', 15 );
add_action( 'woocommerce_after_single_product_summary',
'woocommerce_output_related_products', 20 );
Run Code Online (Sandbox Code Playgroud)
我可以删除相关产品: remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 );
我已经尝试过(在另一个主题中)钩子可能需要“模板重定向”的建议,但这也不起作用。我尝试的是:
// Trying template redirect
function esb_product_category_filter_changes()
{remove_action('woocommerce_after_single_product_summary',
'woocommerce_output_product_data_tabs', 10);
}
do_action('template_redirect','esb_product_category_filter_changes');
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我已经搜索了所有可能相关的插件,关闭了一堆,但仍然是相同的行为。我可以将标签放在任何我想要的地方,但我无法摆脱它们。