remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 );
我的functions.php
文件中有这一行。我从content-single-product.php
文件中获取了这些钩子。但是,我的单个产品页面上的相关产品仍然存在。
我不想完全删除这些功能,我欺骗他们$args
来做我自己的查询。
更新
function remove_woo_relate_products(){
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20);
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
}
add_action('init', 'remove_woo_relate_products', 10);
我尝试编写一个函数来实现我的目标,但do_action
中的相关产品仍然存在。我只能想到CSS来做我需要的东西,但我不应该依赖它。
另外,只是为了显示这个,这就是content-single.product.php
文件中的内容:
<?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' );
?>
答案 0 :(得分:1)
正如LoicTheAztec正确指出的那样,您的代码运行正常。我们测试了它。相关产品已被删除,但追加销售的产品仍在那里。 我们使用店面主题进行了测试。
// View controller
public override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator)
{
super.viewWillTransition(to: size, with: coordinator);
self.navigationBar?.invalidateIntrinsicContentSize();
}
您可以看到function remove_woo_relate_products(){
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20);
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
remove_action( 'woocommerce_after_single_product_summary', 'storefront_upsell_display', 15 );
}
add_action('init', 'remove_woo_relate_products', 10);
正在调用storefront_upsell_display
woocommerce_upsell_display
所以在这段代码中,我们删除了主题的追加销售动作。在相同的逻辑中,有可能在您的主题中调用相关的产品功能。如果是这种情况,您可以删除相应的操作。
注意:确保代码在当前主题的functions.php
中