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');

  

posted @   坏小子1993  阅读(1359)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示