WordPress中的钩子、动作和过滤器是扩展和定制主题和插件的重要工具。它们允许开发人员在特定的时间点插入自定义代码,或者修改WordPress中的数据。
- 钩子(Hooks):
- 钩子分为两种类型:动作钩子(Actions)和过滤器钩子(Filters)。
- 动作钩子允许您在特定事件发生时执行自定义代码,比如在文章发布后执行某些操作。
- 过滤器钩子允许您修改特定数据,比如在显示文章内容之前修改文章内容。
- 钩子允许您将自定义功能与WordPress核心或其他插件的功能进行连接。
- 动作(Actions):
- 动作是一种类型的钩子,它允许您在特定事件发生时执行自定义代码。
- 您可以使用add_action函数将动作附加到特定的事件上,以便在事件发生时执行您的自定义功能。
- 举个例子:
// 添加动作钩子,当文章发布后发送电子邮件
add_action( 'publish_post', 'send_email_notification' );
// 自定义发送电子邮件功能
function send_email_notification( $post_id ) {
$to = 'recipient@example.com';
$subject = '新文章已发布';
$message = '请查看网站上的新文章。';
wp_mail( $to, $subject, $message );
}
- 过滤器(Filters):
- 过滤器是一种类型的钩子,它允许您修改特定数据。
- 您可以使用add_filter函数将过滤器附加到特定的数据上,以便在数据被使用之前修改它。
- 举个例子:
// 添加动作钩子,当文章发布后发送电子邮件
add_action( 'publish_post', 'send_email_notification' );
// 自定义发送电子邮件功能
function send_email_notification( $post_id ) {
$to = 'recipient@example.com';
$subject = '新文章已发布';
$message = '请查看网站上的新文章。';
wp_mail( $to, $subject, $message );
}
参考:
插件技术是基于 filter和action 技术 = (HOOK),多看看 ,这是扩展的作用,如果不是为了扩展功能,也可以直接在页面写代码方便。函数式编程:Action = 事件驱动 event, filter = 过滤器middleware切面编程
https://www.wpdaxue.com/series/50-actions-of-wordpress
https://www.wpdaxue.com/series/50-filters-of-wordpress
https://www.businessbloomer.com/category/woocommerce-tips/visual-hook-series/ 可视化woo