wordpress学习(三)-----add_action动作钩子和add_filter()过滤器钩子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <?php echo "<h2>高级教程add_action动作和add_filter()过滤器</h2><br/>" ; //1.学会使用add_action()方法添加一个动作钩子 //定义一个shuohua 的函数 function shuohua(){ echo "说话<br/>" ; } function zoulu(){ echo "走路<br/>" ; } //挂载shuohua这个函数到huangcong这个动作钩子上 add_action( 'huangcong' , 'shuohua' ); add_action( 'huangcong' , 'zoulu' ); //2.学会使用do_action()方法运行动作钩子 //运行huangcong这个动作,把所有挂载在这个动作上的函数都执行一遍 do_action( 'huangcong' ); //3.学会使用wp内置的动作钩子 //见插件he.php //wp_footer() //wp-include/general-template.php //4.学会使用add_filter()方法添加一个过滤器钩子,与add_action()相同 //定义一个zhuijia函数 function zhuijia( $text ){ echo $text . ".......<br>" ; } function zhuijia1( $text ){ echo $text . "!!!!!!<br>" ; } //挂载zhuijia这个函数到shuchu这个过滤器钩子上,与add_action()相同 add_filter( 'shuchu' , 'zhuijia' ); add_filter( 'shuchu' , 'zhuijia1' ); //创建一个shuchu过滤器,传递要过滤的字符串; apply_filters( 'shuchu' , '黄小聪' ); //与do_action()的区别是有返回结果,而do_action()只是执行,而没有返回结果,所以add_action()挂载的函数中,尽量有echo,这样就可以在do_action()后看到结果 add_action( 'sc' , 'zhuijia' ); add_action( 'sc' , 'zhuijia1' ); do_action( 'sc' , '黄鼠狼' ); //5.学会使用wp内置的过滤器钩子 //见插件he.php //the_content(); //wp-include/post-template.php |
he.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php /** * @package ceshi * @version 1.0 */ /* Plugin Name: huangcongceshi Plugin URI: http://www.baidu.com Description: 这就是一个测试插件 Author: zst Version: 1.0 Author URI: www.cnblog.com/zst062102 */ function hit_top(){ echo "<div><a href='#'>TOP</a></div>" ; } //挂载hit_top函数到wp_footer这个动作钩子上 add_action( 'wp_footer' , 'hit_top' ); function xianshi( $content ){ return "黄聪说:" . $content ; } //挂载xianshi函数到the_content这个过滤器钩子上 add_filter( 'the_content' , 'xianshi' ); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~