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

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.kler.cn/news/310686.html

相关文章:

  • 大数据新视界 --大数据大厂之 Cassandra 分布式数据库:高可用数据存储的新选择
  • 基于SpringBoot+Vue的网上书店
  • git bash中执行java命令乱码问题处理
  • Python基础(六)——PyEcharts数据可视化初级版
  • C语言 | Leetcode C语言题解之第414题第三大的数
  • java定时任务
  • QT----基于QML的计时器
  • 【算法】堆与优先级队列
  • shinyproxy部署R语言shiny APP
  • C++:字符串string转成整型int
  • 数据结构一:绪论
  • linux-系统管理与监控-日志管理
  • 本地不能訪問linux的kafka服務
  • 研1日记14
  • 【数据结构】排序算法---冒泡排序
  • 【JVM GC核心参数】JVM原理,JAVA 各种垃圾回收器的核心参数,JAVA GC回收器参数配置,核心参数说明
  • 二百六十四、Java——Java采集Kafka主题A的JSON数据,解析成一条条数据,然后写入Kafka主题B中
  • 数组学习内容
  • Agent:原理与快速构建 | 人工智能 | Langchain | Python ——学习笔记
  • 使用 Fairseq 进行音频预训练:配置与实现
  • 设计模式之命令模式:从原理到实战,深入解析及源码应用
  • xml中SQL执行错误(使用另外一张表的两个字段,组装SQL的where查询条件)
  • 阿里巴巴搜索API返回值:电商市场竞争的新武器含
  • 动态规划---回文子串
  • 55 mysql 的登录认证流程
  • 掌握MATLAB中的数据类型转换技巧
  • 21. 什么是MyBatis中的N+1问题?如何解决?
  • qt信号与槽(自定义)
  • 手势识别-Yolov5模型-自制数据集训练
  • Kafka是如何保证数据的安全性、可靠性和分区的