wordpress学习(三)-----add_action动作钩子和add_filter()过滤器钩子
<?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
<?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');
wordpress学习(三)-----add_action动作钩子和add_filter()过滤器钩子的更多相关文章
- wordpress学习三:wordpress自带的模板学习
在<学习二>里,大概说了下怎么去查找模板,本节我们以一个简单的模板为例子,继续说说wordpress的模板机制,看看做一个自己的模板需要哪些知识点. 页面模板渲染 wordpress的模板 ...
- wordpress学习四: 一个简单的自定义主题
在学习三里分析了自带的一个例子,本节我们就自己仿照他做个简单的吧,重点是调用wordpress封装好的函数和类,css和html可以稍好在调整. 将wp带的例子复制一份处理,重新名个名字. 清空ind ...
- Android JNI学习(三)——Java与Native相互调用
本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...
- HTTP学习三:HTTPS
HTTP学习三:HTTPS 1 HTTP安全问题 HTTP1.0/1.1在网络中是明文传输的,因此会被黑客进行攻击. 1.1 窃取数据 因为HTTP1.0/1.1是明文的,黑客很容易获得用户的重要数据 ...
- Java学习-038-JavaWeb_007 -- JSP 动作标识 - plugin
plugin 动作时用来在 JSP 页面中加载 Java Applet 或者 JavaBean 组件,语法格式如下所示: <jsp:plugin type="bean|applet&q ...
- Java学习-037-JavaWeb_006 -- JSP 动作标识 - include
这个动作是指在当前的页面中包含一个或多个 JSP 页面或者 HTML 文件,语法:<jsp:include file="../jsp/login.jsp" flush=&qu ...
- Java学习-036-JavaWeb_005 -- JSP 动作标识 - forward
JSP 动作主要作用是根据指定的动作进行相应的处理. 一.param 动作 用来给 HTML 文件和 JSP 文件传递参数的,经常和 forward.include.plugin 动作结合使用,语法格 ...
- wordpress学习一: 环境搭建
原来想单独找个linux的机器搞套完整的环境,机器都找好了,环境搞了半天.搞完后,感觉环境什么的不重要,核心是学好php和wordpress,单独的环境维护还开发成本都不小,所以 还是采用 xampp ...
- TweenMax动画库学习(三)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) ...
随机推荐
- SQL union介绍
UNION 操作符用于合并两个或多个 SELECT 语句的结果集 UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须 ...
- 根据后台加载数据,添加loading动画
<script> var current = 0; var hit = @hits; $(this).scroll(function(){ var viewHeight =$(this). ...
- fio 测试 磁盘I/O: ls -1 /sys/block/sda/queue/ | awk '{cmd="cat "i$0; print i$0; system(cmd) }' i=`pwd`'/'
小型计算机系统接口(SCSI,Small Computer System Interface) SAS(Serial Attached SCSI,串列SCSI) SCSI 硬盘名称: sd[a-p] ...
- MongoDB pymongo模块
安装pymongo模块 pip install pymongo 连接mongodb代码,生成pymongo对象,传入连接服务器相关参数 ip 端口 如果使用指定的账户登录,设置要登录的账户和密码,然后 ...
- 防止SQL注入的6个要点
SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.防止SQL注入,我们可以从以下6个要点来进行: 1.永远不要信任用户的输入 ...
- Echart绘制趋势图和柱状图总结
1.legend名字与series名字一样,即可联动,且不可手动去掉联动效果 2.通过legend图例联动,隐藏绘制图线后,对应( yAxisIndex: 1)坐标y轴如果没有同时设置min和max的 ...
- vant - 头部 - header【Layout 布局】【Icon 图标】
安装 npm i vant -S [main.js] import Vant from 'vant'; import 'vant/lib/index.css'; Vue.use(Vant); [ind ...
- [CC]Mesh文件保存
CC中有两个地方使用了文件保存,一个是MainWindow,另一个是ccCommandLineParser. MainWindow的保存按钮关联的槽是doActionSaveFile()方法,实现了点 ...
- PHP 生成器入门
https://juejin.im/entry/5b4c2d76f265da0f697029ad PHP 在 5.5 版本中引入了「生成器(Generator)」特性,不过这个特性并没有引起人们的注意 ...
- (转)面试必备技能:JDK动态代理给Spring事务埋下的坑!
一.场景分析 最近做项目遇到了一个很奇怪的问题,大致的业务场景是这样的:我们首先设定两个事务,事务parent和事务child,在Controller里边同时调用这两个方法,示例代码如下: 1.场景A ...