挂钩的主要好处(例如add_action
) 它们允许您根据优先级轻松添加其他逻辑。使用独立函数实现相同功能的唯一方法是直接编辑函数。您不希望在premium主题(或core)中执行此操作,因为任何时候有更新时,您的函数都将被覆盖。
以下示例将标题输出到<title>
标签首先,我们注册钩子并将调用放入header.php
在各自的位置归档。
/**
* Custom Theme Title
*/
function theme_custom_title() {
do_action( \'theme_custom_title\' );
}
header.php
HTML
<title><?php echo theme_custom_title(); ?></title>
现在我们的自定义挂钩已经设置好了,让我们讨论一下优先级,即
add_action
. 优先级允许我们按照优先级的升序运行其他函数,让我们向自定义挂钩注册3个挂钩。
function custom_title_one() {
echo "Hook One ";
}
add_action( \'theme_custom_title\', \'custom_title_one\', 10 );
function custom_title_two() {
echo "Hook Two ";
}
add_action( \'theme_custom_title\', \'custom_title_two\', 20 );
function custom_title_three() {
echo "Hook Three ";
}
add_action( \'theme_custom_title\', \'custom_title_three\', 1 );
如果我们运行上述命令,我们将在
<title>
标签:
钩子三钩子一钩子二
虽然这看起来很简单,但对于您不想实际覆盖的函数/挂钩来说,这是非常棒的。我们可以把这三个钩子Child Theme 无论父主题更新多少次,它都将始终运行这些挂钩。如果函数接受参数,则可以有条件地处理和操纵参数,并返回不同的输出。作为一个独立的功能,这要困难得多,其目的是允许开发人员修改主功能,而不必实际覆盖其核心功能。