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动画库学习(三) ...
随机推荐
- [httpd] httpd directory list character encoding
在httpd下放置文件用来直接从浏览器访问的时候,中文文件名有可能产生乱码. 做以下设置,调整字符编码: 1: Add this to your .htaccess: IndexOptions +Ch ...
- elasticsearch解决控制台中文乱码问题
找到conf目录下的jvm.options文件,找到如下的配置行: 我将之前的UTF-8 改成GBK,ok.
- gitee 使用
gitee 使用 首先在码云仓库创建对应的仓库 当你输入错误用户名和密码 需要清掉配置 git config --system --unset credential.helper 设置账号 git c ...
- eclipse几种常见问题的解决
build项目时出现卡死现象的解决方案 场景:在使用使用Eclipse编辑文件保存时或者build项目时,经常出现卡死现象,此时即便杀死eclipse进程重启还是依然出现这种现象. 原因:eclips ...
- 第 6 章 es5 对象创建和继承
目录 第 6 章 Object 一.创建对象 1. 字面量 2. 工厂模式 3. 构造函数 4. 原型 5. 构造+原型 6. 其他 二.Object静态属性 Object.definePropert ...
- jquery有几种选择器?
①.基本选择器:#id,class,element,*: ②.层次选择器:parent > child,prev + next,prev ~ siblings: ③.基本过滤器选择器::firs ...
- 【JMeter】【性能测试】分布式远程服务器
jmeter分布式简单步骤说明: 1:添加远程服务器IP到配置文件 在JMETER_HOME / bin / jmeter.properties中,找到名为“ remote_hosts ” 的属性,并 ...
- ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes怎么处理
今天ytkah进行了应急数据库恢复,用Navicat for Mysql导入sql文件出现ERROR 1153 (08S01): Got a packet bigger than 'max_allow ...
- what's the 套期保值
出自 MBA智库百科(https://wiki.mbalib.com/) 什么是套期保值 套期保值是指把期货市场当作转移价格风险的场所,利用期货合约作为将来在现货市场上买卖商品的临时替代物,对其现在买 ...
- oracle sql小结(主要讲横列转换的例子)decode 以及case
--建表 create table kecheng( id NUMBER, name VARCHAR2(20), course VARCHAR2(20), score NUMBER); --插入数据i ...