WordPress中Hooks入门——action使用案例

本文介绍了WordPress中Hooks的概念,特别是Action的使用。通过一个“Hello World!”案例,展示了如何使用`do_action()`和`add_action()`创建扩展点和挂钩,使代码具备更好的可扩展性,便于插件开发者和用户自定义功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

“Hooks(钩子)在WordPress的插件开发中非常重要,使用Hooks可轻松实现插件的扩展性功能。Hooks分为两种,一种为Actions(动作),另一种为Filters(过滤器),今天我们通过一个案例给大家介绍Action的使用。

1、“Hello World!”案例

首先编写完一个“Hello World()”的方法并调用该它,代码如下:   

<?php
//实现HelloWorld的方法
function HelloWorld()
{
    echo "Hello World!";
}

//调用HelloWorld方法
HelloWorld();
?>

方法很简单,完全没有难度,执行后结果在浏览器中显示如下图:


2、扩展

但我们希望该方法更具有扩展性,比如在问候语之后,可以执行其它动作,因此将“HelloWorld()”方法修改如下。

//实现HelloWorld的方法
function HelloWorld()
{
    echo "Hello World!";

    //使用do_action()方法增加一个可以挂载动作的点
    do_action("Hello_Over");
}

这样,我们使用“do_action()”给“HelloWorld()”方法增加了一个动作的扩展点。其中,参数“Hello_Over”是我们给该动作添加的标记。

我们希望扩展什么呢?比如我希望是“鸟儿唱歌”,他希望是“阳光灿烂”,因此,添加两方法如下:

//实现"鸟儿唱歌"
function HelloBird()
{
    echo "<br/>The birds are singing!";
}

//实现"阳光灿烂"
function HelloSunShine()
{
    echo "<br/>The sun is shine!";
}

现在,在执行“HelloWorld()”方法之前,我希望加上“鸟儿唱歌”,添加代码如下:

//使用"add_action()"方法,将动作标记和方法挂钩
add_action("Hello_Over","HelloBird");

//调用HelloWorld方法
HelloWorld();

这里,我们使用了“add_action()”将动作的标记“Hello_Over”和方法“HelloBird()”实现挂钩,在调用“HelloWorld()”方法时,就会去执行“HelloBird()” 方法。现在再执行代码,结果如下图:

如果我们想“鸟儿唱歌”和“阳光灿烂”都有,那就添加代码如下“:

//使用"add_action()"方法,将动作标记和方法挂钩
add_action("Hello_Over","HelloBird");

//使用"add_action()"方法,将动作标记和方法挂钩
add_action("Hello_Over","HelloSunShine");

//调用HelloWorld方法
HelloWorld();

这样就实现了对“HelloWorld()”方法的简单扩展,执行结果如下图,最后给出全部代码。

<?php
//实现HelloWorld的方法
function HelloWorld()
{
    echo "Hello World!";

    //使用do_action()方法增加一个可以挂载动作的点
    do_action("Hello_Over");
}

//实现"鸟儿唱歌"
function HelloBird()
{
    echo "<br/>The birds are singing!";
}

//实现"阳光灿烂"
function HelloSunShine()
{
    echo "<br/>The sun is shine!";
}

//使用"add_action()"方法,将动作标记和方法挂钩
add_action("Hello_Over","HelloBird");

//使用"add_action()"方法,将动作标记和方法挂钩
add_action("Hello_Over","HelloSunShine");

//调用HelloWorld方法
HelloWorld();
?>

3、总结

在WordPress中,使用“do_action()”方法实现对原方法开放接口,使用“add_action()”方法将接口和实现方法进行挂钩,就完成了对原方法的扩展,这种方式用在插件中,插件开发者只要提供插件扩展点,用户就可以随心所欲的扩展功能了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值