WordPress建站钩子函数及使用

目录

前言:

使用场景:

一、常用的wordpress钩子(动作钩子、过滤器钩子)

1、动作钩子(Action Hooks)

2、过滤器钩子(Filter Hooks)

二、常用钩子示例

1、添加自定义 CSS 和 JS 文件

2、修改文章内容

3、在页脚添加内容

4、开发者还可以创建自定义的钩子,供主题或插件中的其他函数调用。

 三、使用步骤(以wp_head钩子为例)

1、进入wordpress后台,找到主题文件编辑器

2、点击右侧的functions.php文件

​编辑 3、在左侧编辑器中的代码下面添加钩子方法,点击更新文件

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


前言:

在 WordPress 中,钩子(Hooks)是一种非常强大的机制,允许开发者在特定的时刻(如页面加载、发布内容、用户登录等)插入自定义的代码。

使用场景:

在wordpress建站中,网站搭建好后,由于seo优化或者是网站数据追踪统计,通常会在网站的每个页面的一些位置例如<head>标签里,<body>标签里,<footer>前面等位置,添加一些js插件或者是固定的代码,使用wordpress自带的一些hooks(钩子函数)可以很方便的实现在该站点的每个页面都添加对应的代码。

一、常用的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 文件

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、修改文章内容

function modify_post_content($content) {if (is_single()) {$content .= '<p>感谢阅读本文!</p>';}return $content;
}
add_filter('the_content', 'modify_post_content');

3、在页脚添加内容

function add_footer_content() {echo '<p>自定义页脚内容</p>';
}
add_action('wp_footer', 'add_footer_content');

4、开发者还可以创建自定义的钩子,供主题或插件中的其他函数调用。

例如:

// 定义自定义钩子
do_action('my_custom_hook');// 添加函数到自定义钩子
add_action('my_custom_hook', function() {echo '这是一个自定义钩子调用的内容';
});

 三、使用步骤(以wp_head钩子为例)

1、进入wordpress后台,找到主题文件编辑器

2、点击右侧的functions.php文件

 3、在左侧编辑器中的代码下面添加钩子方法,点击更新文件

// add_others是方法名,可以自定义,保持跟下面add_action里面方法名相同即可function add_others(){?><script>'要添加的js代码内容'</script><?php
}add_action('wp_head','add_others');

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/427185.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTB-Vaccine(suid提权、sqlmap、john2zip)

前言 各位师傅大家好&#xff0c;我是qmx_07&#xff0c;今天来为大家讲解Vaccine靶机 渗透过程 信息搜集 服务器开放了 21FTP服务、22SSH服务、80HTTP服务 通过匿名登录FTP服务器 通过匿名登录到服务器&#xff0c;发现backup.zip文件&#xff0c;可能存在账号密码 发现b…

硬件工程师笔试面试——滤波器

目录 12、滤波器 12.1 基础 滤波器原理图 滤波器实物图 12.1.1 概念 12.1.2 滤波器的分类 12.1.3 滤波器的工作原理 12.1.4 滤波器的应用 12.1.5 滤波器设计的关键参数 12.2 相关问题 12.2.1 不同类型的滤波器在实际应用中的具体作用是什么? 12.2.2 如何设计一个简…

ABAP-Logger ABAP 日志记录与任何其他语言一样轻松

ABAP-Logger ABAP 日志记录与任何其他语言一样轻松 ABAP Logger SAP Logging as painless as any other language. ABAP Version: 702 or higher See the mission statement Features Record message in Application Log(BC-SRV-BAL)Display message Installation Insta…

记忆化搜索

目录 引言&#xff1a; 1. 什么是记忆化搜索&#xff1f; 2. 如何实现记忆化搜索&#xff1f; 一、斐波那契数 1. 题目链接&#xff1a;509. 斐波那契数 2. 题目描述&#xff1a; 3. 解法&#xff08;暴搜 -> 记忆化搜索 -> 动态规划&#xff09;&#xff1a; &am…

【楚怡杯】职业院校技能大赛 “云计算应用” 赛项样题六

某企业根据自身业务需求&#xff0c;实施数字化转型&#xff0c;规划和建设数字化平台&#xff0c;平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”&#xff0c;拟采用开源OpenStack搭建企业内部私有云平台&#xff0c;开源Kubernetes搭建云原生服务平台&#xff0c;选…

涛思数据库安装和卸载

安装 cd opt/taos/TDengine-server-2.4.0.5 sudo ./install.sh 启动taos​ 安装后&#xff0c;请使用 systemctl 命令来启动 TDengine 的服务进程 systemctl start taosd检查服务是否正常工作&#xff1a; systemctl status taosd 升级 3.0 版在之前版本的基础上&#x…

使用 SpringBoot 基础web开发的支持

首先导入项目相关的依赖&#xff1a; pom.xml 文件&#xff1a; 导入相关项目依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-in…

Git使用—把当前仓库的一个分支push到另一个仓库的指定分支、基于当前仓库创建另一个仓库的分支并推送到对应仓库(mit6828)

把学习过程中遇到的Git问题汇总如下&#xff08;后续学习遇到问题会及时更新此专栏&#xff09;&#xff1a; Git原理及常用命令小结——实用版&#xff08;ing......&#xff09;、Git设置用户名邮箱-CSDN博客 解决git每次push代码到github都需要输入用户名以及密码-CSDN博客…

硬件工程师笔试面试——变压器

目录 9、变压器 9.1 基础 变压器原理图 变压器实物图 9.1.1 概念 9.1.2 变压器组成结构 9.1.3 变压器原理 9.1.4 变压器的类型 9.1.5 应用领域 9.2 相关问题 9.2.1 变压器的工作原理是什么? 9.2.2 如何选择合适的变压器类型? 9.2.3 变压器在实际应用中,如何进行…

9.18 C++对C的扩充

使用cout实现输出斐波那契前20项的值 #include <iostream>using namespace std;int main() {int n11,n21,n3;cout << n1 <<" "<< n2<<" ";for(int i0;i<18;i){n3n1n2;cout<<n3<<" " ;n1n2;n2n3;}…

算法备案究竟是自己做还是找专业机构?

算法备案究竟是自己做还是找专业机构&#xff1f; 在深入了解算法备案申报要求和规则的基础上&#xff0c;企业可以选择自行完成备案。然而&#xff0c;如果缺乏相关知识和经验&#xff0c;申报材料可能会反复出错&#xff0c;导致被驳回&#xff0c;增加试错的时间成本&#x…

前端开发之原型模式

介绍 原型模式本质就是借用一个已有的实例做原型&#xff0c;在这原型基础上快速复制出一个和原型一样的一个对象。 class CloneDemo {name clone democlone(): CloneDemo {return new CloneDemo()} } 原型原型链 函数&#xff08;class&#xff09;都有显示原型 prototyp…

录音翻译成文字的软件有哪些?试试这5款工具,一键识别

将录音翻译成文字的需求日益增长&#xff0c;无论是商务会议、学术讲座还是日常生活&#xff0c;一款高效、准确的录音翻译软件都能极大地提升我们的工作与生活效率。今天&#xff0c;我们就来盘点5款备受好评的录音翻译成文字的软件&#xff0c;一起来了解下吧。 工具一&#…

【云原生监控】Prometheus之PushGateway

Prometheus之PushGateway 文章目录 Prometheus之PushGateway介绍作用资源列表基础环境一、部署PushGateway1.1、下载软件包1.2、解压软件包1.3、编辑配置systemctl启动文件1.4、创建日志目录1.5、加载并启动1.6、监控端口1.7、访问PushGateway 二、 配置Prometheus抓取PushGate…

git push失败原因上传的文件超过了Gitee的上限100M

! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 这个错误信息表明你在尝试将更改推送到Gitee的socket_service仓库时遇到了问题。具体来说&#xff0c;问题出在你尝试推送的文件大小超过了Gitee平台设定的限制。Git…

ES6标准---【八】【学习ES6看这一篇就够了!!!】

目录 前言 export命令 输出变量 输出函数/类 export中的as别名 export必须一一对应 export接口的响应性 注意 import命令 import命令的语法 import命令里的as别名 import的只读性 import命令具有提升性 import的一些约定 import的静态执行 import的唯一执行性 模…

前端常见面试-首页性能提升、项目优化

首页性能提升 Vue 首页性能提升是Vue应用开发中非常重要的一环&#xff0c;它直接影响用户体验和应用的加载速度。以下是一些关键的Vue首页性能提升策略&#xff1a; 1. 代码分割与懒加载 路由懒加载&#xff1a;利用Webpack的动态导入&#xff08;import()&#xff09;特性…

36.贪心算法3

1.坏了的计算器&#xff08;medium&#xff09; . - 力扣&#xff08;LeetCode&#xff09; 题目解析 算法原理 代码 class Solution {public int brokenCalc(int startValue, int target) {// 正难则反 贪⼼int ret 0;while (target > startValue) {if (target % 2 0…

在Word中,用VBA比较两段文本的相似度

效果1: 去掉字符串中回车&#xff0c;进行改进后效果&#xff1a; 代码&#xff1a; Function LevenshteinDistance(s As String, t As String) As IntegerDim d() As IntegerDim i As IntegerDim j As IntegerDim cost As IntegerDim sLen As IntegerDim tLen As IntegersLen…

【CSS in Depth 2 精译_034】5.4 Grid 网格布局的显示网格与隐式网格(下)

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一章 层叠、优先级与继承&#xff08;已完结&#xff09; 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位&#xff08;已完结&#xff09; 2.1 相对…