WordPress建站钩子函数及使用

embedded/2024/9/23 21:05:52/

目录

前言:

使用场景:

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_loadedWordPress 完全加载完成时触发。
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');

4、前台页面刷新审查元素查看是否已经添加成功 


http://www.ppmy.cn/embedded/115768.html

相关文章

Spring为什么要用三级缓存解决循环依赖?

Spring为什么要用三级缓存解决循环依赖&#xff1f; 1. Spring是如何创建一个bean对象2. Spring三级缓存2.1 一级缓存&#xff1a;单例池&#xff0c;经历过完整bean生命&#xff0c;单例Bean对象2.2 二级缓存&#xff1a;提前暴露的Bean2.3 三级缓存&#xff1a;打破循环 3. S…

Qt (17)【Qt 文件操作 读写保存】

阅读导航 引言一、Qt文件概述二、输入输出设备类三、文件读写类四、文件和目录信息类五、自定义“记事本” 引言 在上一篇文章中&#xff0c;我们学习了Qt的事件处理机制&#xff0c;知道了如何响应用户的操作。但应用程序常常还需要处理文件&#xff0c;比如读写数据。所以&a…

【人工智能】Transformers之Pipeline(十九):文生文(text2text-generation)

目录 一、引言 二、文生文&#xff08;text2text-generation&#xff09; 2.1 概述 2.2 Flan-T5: One Model for ALL Tasks 2.3 pipeline参数 2.3.1 pipeline对象实例化参数 2.3.2 pipeline对象使用参数 ​​​​​​​ 2.3.3 pipeline返回参数 ​​​​​​​​​​​…

ubuntu安装emqx

目录 1.预先下载好emqx压缩包 2.使用tar命令解压 3.进入bin目录 5.放开访问端口18083 6.从通过ip地址访问emqx后台 7.默认用户名密码为admin/public 8.登录后台 9.资源包绑定在此博文可自取 1.预先下载好emqx压缩包 2.使用tar命令解压 sudo tar -xzvf emqx-5.0.8-el8-…

如何使用ssm实现大湾区旅游推荐系统的设计与实现+vue

TOC ssm621大湾区旅游推荐系统的设计与实现vue 第1章 绪论 1.1 研究背景意义及内容 1.1.1 研究背景 二十一世纪互联网的出现&#xff0c;改变了几千年以来人们的生活&#xff0c;不仅仅是生活物资的丰富&#xff0c;还有精神层次的丰富。在互联网诞生之前&#xff0c;地域…

【C++】类和对象(一)

类的引入 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 C是基于面向对象的&#xff0c;关注的是对象&#xff0c;将一件事情拆分成不同的对象&#xff0c;靠对象之间的交互完成。 C语言结构体中只能定…

WPF自定义Dialog模板,内容用不同的Page填充

因为审美的不同&#xff0c;就总有些奇奇怪怪的需求&#xff0c;使用框架自带的对话框已经无法满足了&#xff0c;这里记录一下我这边初步设计的对话框。别问为啥要用模板嵌套Page来做对话框&#xff0c;问就是不想写太多的窗体。。。。 模板窗体&#xff08;XAML&#xff09;…

PyTorch使用------自动微分模块

目录 &#x1f354; 梯度基本计算 1.1 单标量梯度的计算 1.2 单向量梯度的计算 1.3 多标量梯度计算 1.4 多向量梯度计算 1.5 运行结果&#x1f4af; &#x1f354; 控制梯度计算 2.1 控制不计算梯度 2.2 注意: 累计梯度 2.3 梯度下降优化最优解 2.4 运行结果&#x1…