文章最后更新时间:
WordPress钩子介绍
wordpress钩子是开发wordpress主题和插件中很重要的一个概念,搞懂wordpress钩子,可以帮让我们在开发主题时事半功倍。
WordPress常用的有两种钩子,一种是动作(action),另外一种是过滤器(filter)钩子。
动作钩子概念
动作钩子是wordpress代码执行到某处或某个事件发生时触发的一系列函数,插件可以利用动作钩子API在WP代码执行的特定点之前插入一系列函数以控制执行。它跟过滤钩子极像,唯一不同的是过滤钩子返回一个处理后的值,而动作钩子仅完成函数执行并不返回值,如果钩子不存在则返回NULL并新增该钩子。
过滤钩子原理
其实动作钩子和过滤钩子它们的实现原理是一样的。它主要利用一个全局变量wpfilter增加动作函数时使用addaction()函数给全局变量wp_filter增加了一个数组元素,这个元素键名中含有钩子名,值中含有对应函数及执行优先级等信息,在调用do_action()函数使用动作钩子时,它通过循环查找出所有跟钩子关联的函数并将其依次调用,最后返回处理后的数据。
钩子的优先级
add_action('init', 'run_me_early', 9);
add_action('init', 'run_me_normal'); // 如果没有指定优先级,默认为 10
add_action('init', 'run_me_late', 11);
如果你希望在不同的位置添加内容,可以使用不同的钩子。例如:
在页面头部插入
function add_custom_head_content() {
echo '<meta name="custom-meta" content="value">';
}
add_action('wp_head', 'add_custom_head_content');
在页面页脚插入
function add_custom_footer_content() {
echo '<p>这是页脚内容。</p>';
}
add_action('wp_footer', 'add_custom_footer_content');
暂无评论内容