全局替换方案
该插件代码注册了两个操作– buffer_start和buffer_end。
buffer_start在html的标头部分的末尾执行。 在输出缓冲结束时调用参数buffer_end函数。 当第二个注册的动作callback执行时,这会在页面的页脚处发生。
您可以在buffer_start函数中添加代码以更改输出值(变量buffer_end)。 然后,您只需返回修改后的代码,就会显示该页面。
笔记确保为buffer_start、buffer_end和callback使用唯一的函数名称,这样它们才不会与插件中可能具有的其他函数冲突。
function callback($buffer) {
// modify buffer here, and then return the updated code
return $buffer;
}
function buffer_start() { ob_start("callback"); }
function buffer_end() { ob_end_flush(); }
add_action('wp_head', 'buffer_start');
add_action('wp_footer', 'buffer_end');
如果使用以下钩子,还将包含header.php。
但这个方案会影响elementor的使用。
function callback($buffer) {
$buffer = str_replace('replacing','width',$buffer);
return $buffer;
}
function buffer_start() { ob_start("callback"); }
function buffer_end() { ob_end_flush(); }
add_action('after_setup_theme', 'buffer_start');
add_action('shutdown', 'buffer_end');
原文
https://www.itranslater.com/qa/details/2582509339181319168