我可以在PHP中截取一个用户定义的全局函数吗


Can I intercept a user-defined global function in PHP?

我正在尝试为Wordpress主题添加自定义。我使用了一种"子主题"技术,可以单独替换文件,而不是替换原始代码。

现在,原始代码调用get_footer(),我喜欢截取该调用,以便在实际的get_footer函数完成工作之前插入自己的html输出。

我读过PHP 5的__call方法,但它只适用于类,而WP代码不使用类,而是使用全局函数。所以我不能用那种技术,对吧?

get_footer()函数只需为页脚找到并加载合适的模板。WP get_footer中有一个钩子,它在加载模板之前发生trans。

Codex说,从这个函数中回显es是不好的,但您可以使用它在get_footer()加载模板之前加载自己的模板。

你可以在你的函数中做这样的事情。hp:

add_action( 'get_footer', 'my_hook_fn' );
function my_hook_fn() {
   load_template('my_template_file.php');
}

Codex

我在几个网站上用了那么厚,他们不使用儿童主题,但我认为这会奏效。