目录
前言:
使用场景:
wordpress%E9%92%A9%E5%AD%90%EF%BC%88%E5%8A%A8%E4%BD%9C%E9%92%A9%E5%AD%90%E3%80%81%E8%BF%87%E6%BB%A4%E5%99%A8%E9%92%A9%E5%AD%90%EF%BC%89-toc" style="margin-left:0px;">一、常用的wordpress钩子(动作钩子、过滤器钩子)
1、动作钩子(Action Hooks)
2、过滤器钩子(Filter Hooks)
二、常用钩子示例
1、添加自定义 CSS 和 JS 文件
2、修改文章内容
3、在页脚添加内容
4、开发者还可以创建自定义的钩子,供主题或插件中的其他函数调用。
三、使用步骤(以wp_head钩子为例)
wordpress%E5%90%8E%E5%8F%B0%EF%BC%8C%E6%89%BE%E5%88%B0%E4%B8%BB%E9%A2%98%E6%96%87%E4%BB%B6%E7%BC%96%E8%BE%91%E5%99%A8-toc" style="margin-left:80px;">1、进入wordpress后台,找到主题文件编辑器
php%E6%96%87%E4%BB%B6-toc" style="margin-left:80px;">2、点击右侧的functions.php文件
编辑 3、在左侧编辑器中的代码下面添加钩子方法,点击更新文件
4、前台页面刷新审查元素查看是否已经添加成功
前言:
在 WordPress 中,钩子(Hooks)是一种非常强大的机制,允许开发者在特定的时刻(如页面加载、发布内容、用户登录等)插入自定义的代码。
使用场景:
在wordpress建站中,网站搭建好后,由于seo优化或者是网站数据追踪统计,通常会在网站的每个页面的一些位置例如<head>标签里,<body>标签里,<footer>前面等位置,添加一些js插件或者是固定的代码,使用wordpress自带的一些hooks(钩子函数)可以很方便的实现在该站点的每个页面都添加对应的代码。
wordpress%E9%92%A9%E5%AD%90%EF%BC%88%E5%8A%A8%E4%BD%9C%E9%92%A9%E5%AD%90%E3%80%81%E8%BF%87%E6%BB%A4%E5%99%A8%E9%92%A9%E5%AD%90%EF%BC%89">一、常用的wordpress钩子(动作钩子、过滤器钩子)
动作钩子(Action Hooks):允许在指定位置执行某些操作或函数。
过滤器钩子(Filter Hooks):允许拦截并修改数据,然后将修改后的数据传递给下一个流程。
1、动作钩子(Action Hooks)
动作钩子用于在某个事件或时刻运行函数,可以用
add_action()
添加自定义函数。常用的动作钩子包括:
init 在 WordPress 初始化时触发。 wp_loaded WordPress 完全加载完成时触发。 wp_head 在 <head>
标签之前添加内容。wp_footer 在 <footer>
之前添加内容。wp_body_open 在 <body>
标签开始处添加内容(WordPress 5.2+)。admin_menu 后台菜单加载时触发,可以用来添加自定义菜单。 template_redirect 在 WordPress 确定要加载哪个模板文件时触发,可以重定向用户到其他页面。 wp_enqueue_scripts 用于注册和加载 CSS 和 JS 文件。 save_post 保存或更新文章时触发。 login_form 在登录表单之前添加内容。 comment_post 在评论发布后执行操作。 2、过滤器钩子(Filter Hooks)
过滤器钩子允许你修改 WordPress 中某些数据的输出,比如修改标题、内容、登录表单等。可以用
add_filter()
添加自定义的过滤函数。常用的过滤器钩子包括:
the_content
过滤文章或页面内容。 the_title
过滤文章或页面标题。 the_excerpt
过滤摘要内容。 wp_title
修改 <title>
标签的内容。comment_text
过滤评论内容。 login_redirect
修改用户登录后的重定向地址。 widget_title
过滤小部件的标题。 wp_nav_menu_items
过滤导航菜单的 HTML 输出。 upload_mimes
自定义上传文件类型的 MIME 类型。
二、常用钩子示例
1、添加自定义 CSS 和 JS 文件
php">function my_custom_enqueue_scripts() {wp_enqueue_style('my-custom-style', get_template_directory_uri() . '/css/custom.css');wp_enqueue_script('my-custom-script', get_template_directory_uri() . '/js/custom.js', array('jquery'), null, true); } add_action('wp_enqueue_scripts', 'my_custom_enqueue_scripts');
2、修改文章内容
php">function modify_post_content($content) {if (is_single()) {$content .= '<p>感谢阅读本文!</p>';}return $content; } add_filter('the_content', 'modify_post_content');
3、在页脚添加内容
php">function add_footer_content() {echo '<p>自定义页脚内容</p>'; } add_action('wp_footer', 'add_footer_content');
4、开发者还可以创建自定义的钩子,供主题或插件中的其他函数调用。
例如:
php">// 定义自定义钩子 do_action('my_custom_hook');// 添加函数到自定义钩子 add_action('my_custom_hook', function() {echo '这是一个自定义钩子调用的内容'; });
三、使用步骤(以wp_head钩子为例)
wordpress%E5%90%8E%E5%8F%B0%EF%BC%8C%E6%89%BE%E5%88%B0%E4%B8%BB%E9%A2%98%E6%96%87%E4%BB%B6%E7%BC%96%E8%BE%91%E5%99%A8">1、进入wordpress后台,找到主题文件编辑器
php%E6%96%87%E4%BB%B6">2、点击右侧的functions.php文件
3、在左侧编辑器中的代码下面添加钩子方法,点击更新文件
php">// add_others是方法名,可以自定义,保持跟下面add_action里面方法名相同即可function add_others(){?><script>'要添加的js代码内容'</script><?php
}add_action('wp_head','add_others');