如何更新或覆盖 woocommerce wc-template-functions 中的不可插入函数

Unt*_*hic 2 php woocommerce

我正在 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>';
}
Run Code Online (Sandbox Code Playgroud)

我想做的只是<span>在 div 内添加一个 id 或 data 属性和 a ,但不直接编辑代码(我显然不想这样做),我很困惑,因为它似乎不是一个可插入函数,但我没有看到一种可以为此使用钩子的方法。

小智 5

删除执行上述函数的操作应该可以。

remove_action( 'woocommerce_before_single_product', 'woocommerce_output_all_notices', 10 );
Run Code Online (Sandbox Code Playgroud)

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

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 );
Run Code Online (Sandbox Code Playgroud)