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,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· 趁着过年的时候手搓了一个低代码框架
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现