php WooCommerce如何在最终的html中更改文本块

lmyy7pcs  于 2022-10-30  发布在  PHP
关注(0)|答案(1)|浏览(158)

我需要在WooCommerce页面发送到浏览器之前替换其中的文本块。
我已经尝试了以下代码,我发现在网络上:

function start_modify_html() {
   ob_start();
}

function end_modify_html() {
   $html = ob_get_clean();
   $html = str_replace( 'old string', 'new string', $html );
   echo $html;
}

add_action( 'wp_head', 'start_modify_html' );
add_action( 'wp_footer', 'end_modify_html' );

它可以工作,但除非我遗漏了什么,否则它只在页面的正文部分工作,而我需要替换的文本位于页眉部分。
我错过了什么?

fruv7luv

fruv7luv1#

add_action('template_redirect', 'start_custom_buffer', 9999);
add_action('shutdown', 'end_custom_buffer', 1);

function start_custom_buffer() {

    ob_start();
    ob_start('end_custom_buffer');
}

function end_custom_buffer($buffer = '') {
    $buffer = str_replace( 'Shop', 'Shopreplacedd', $buffer );
    return $buffer;
}

teplate_redirect hook和shutdown(网站加载端)开始缓冲,替换所需字符串并返回缓冲区

相关问题