当前位置: 首页 > news >正文

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、前台页面刷新审查元素查看是否已经添加成功 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [数据集汇总]智慧交通-铁路相关数据集汇总
  • USDT自动化交易【Pinoex】【自动化分析】【ChatGPT量化脚本】
  • mysql时间戳格式化yyyy-mm-dd
  • HarmonyOS NEXT 封装实现好用的网络模块(基于最新5.0的API12)
  • 全志A523 系统篇(一) 获取vmlinux
  • ASP.NET MVC 迅速集成 SignalR
  • 将硬盘的GPT 转化为MBR格式
  • 如何避免在使用 Context API 时出现状态管理的常见问题?
  • Redhat 7,8系(复刻系列) 一键部署Oracle21c-xe rpm
  • 在Android中fragment的生命周期
  • 【多模态融合】【NeurIPS 2021】Attention Bottlenecks for Multimodal Fusion
  • 2025年国家级高新技术企业认定,这些公司过不了了!
  • leetcode 105.从前序与中序遍历序列构造二叉树
  • 创客中国AIGC专题赛冠军天鹜科技:AI蛋白质设计引领者
  • 掌握ChatGPT:高效利用AI助手
  • SegmentFault for Android 3.0 发布
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • ES6核心特性
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • js操作时间(持续更新)
  • SAP云平台里Global Account和Sub Account的关系
  • TypeScript迭代器
  • 番外篇1:在Windows环境下安装JDK
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 基于axios的vue插件,让http请求更简单
  • 前端学习笔记之观察者模式
  • 原生 js 实现移动端 Touch 滑动反弹
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • ​决定德拉瓦州地区版图的关键历史事件
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (19)夹钳(用于送货)
  • (4)logging(日志模块)
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (九)c52学习之旅-定时器
  • (顺序)容器的好伴侣 --- 容器适配器
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (译) 函数式 JS #1:简介
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (转载)利用webkit抓取动态网页和链接
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • *算法训练(leetcode)第四十天 | 647. 回文子串、516. 最长回文子序列
  • .NET Core 2.1路线图
  • .net core使用ef 6
  • .NET Framework .NET Core与 .NET 的区别
  • .net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
  • .net项目IIS、VS 附加进程调试
  • .NET中GET与SET的用法
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解
  • [AAuto]给百宝箱增加娱乐功能