过滤(General-template.php)中的WordPress函数

时间:2017-01-16 作者:CodeAlb

抱歉,如果这是一个重复的问题,我只想更改一下WordPress的核心功能get_header() 具有新功能new_get_header().

function new_get_header() {
    // new header fragments;
}

Is this possible?

add_filter( \'get_header\', \'new_get_header\' );

Or should I use:

add_action( \'init\', \'new_get_header\' );
并将其作为函数而不是原始函数调用。

new_get_header();
// Content
// Footer

2 个回复
最合适的回答,由SO网友:CK MacLeod 整理而成

简言之,不,你的两个选择都不是“可能”的,因为它们都不能或根本不可能做你想让它做的事情。

没有get\\u标头filter - 因此,第一种选择不会起任何作用。

第二个可以something, 取决于函数包含的内容,而不是如何完成。

那里is get\\u标题action hook 此处的法典中描述了其用途:https://codex.wordpress.org/Plugin_API/Action_Reference/get_header 它确实允许您通过特定头文件的名称来缩小其范围。这可能是实现您想要实现的任何目标的一种方法,具体取决于您希望在它启动时发生什么。

由于没有特定的get\\u头过滤器,因此修改头的主要方法是创建一个或多个新头。php或标头{name}。子主题的php模板文件(可以有多个模板供模板选择)。

如果您想更改主题标题中的特定元素,而不需要对其进行黑客攻击或创建新标题(-name)。php文件,您可以使用wp includes/theme中的一个过滤器。php。https://core.trac.wordpress.org/browser/tags/4.5.3/src/wp-includes/theme.php#L0

确定您需要的一个或多个备选方案将取决于您需要修改的“片段”。

SO网友:Samuel Asor

In my opinion, 我认为修改WordPress的核心功能不是一个好主意。如果需要从函数中添加或删除某些内容,请执行

add_filter( \'core_function_name\', \'your_custom_function\' );

add_action( \'core_function_name\', \'your_custom_function\' );
将为您提供所需的结果。

相关推荐

为内置钩子调用do_action和Apply_Filters是否安全?

我正在开发一个插件,它需要复制一些内置的WordPress逻辑。(此逻辑不能用任何内置方法调用,也不能独立连接到。)在这个动作序列中,WordPress的正常行为是调用动作挂钩(do_action(\'wp_login\', ...)) 和过滤器挂钩(apply_filters(\'login_redirect\', ...)).如果在对应于在Core中调用它们的时间点调用它们,那么直接从我的插件调用这些内置钩子是否安全(并且是可以接受的做法)?或者,其他与此相关的开发人员期望在非常特定的时间执行操作的风