首页 > 解决方案 > 您如何更新或覆盖位于 woocommerce wc-template-functions 中的不可插入功能

问题描述

我正在 woocommerce 中构建一个主题,我需要对woocommerce_output_all_notices()in的 html 输出进行一些小改动wc-template-functions.php。现有的函数本身是这样的:

function woocommerce_output_all_notices() {
    echo '<div class="woocommerce-notices-wrapper">';
    wc_print_notices();
    echo '</div>';
}

我想做的只是<span>在 div 中添加一个 id 或 data 属性和一个,但不直接编辑代码(我显然不想这样做)我很难过,因为它似乎不是可插入功能,我看不到可以为此使用挂钩的方法。

标签: phpwoocommerce

解决方案


删除执行上述功能的操作应该可以工作。

remove_action( 'woocommerce_before_single_product', 'woocommerce_output_all_notices', 10 );

然后添加一个返回您需要的新操作

function custom_woocommerce_output_all_notices() {
    // Change your code here.
    echo '<div class="woocommerce-notices-wrapper">';
    wc_print_notices();
    echo '</div>';
}
add_action( 'woocommerce_before_single_product', 'custom_woocommerce_output_all_notices', 10 );

推荐阅读