wordpress 中do_action() 和 add_action() 的区别

这篇具有很好参考价值的文章主要介绍了wordpress 中do_action() 和 add_action() 的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


do_action() 和 add_action() 的区别

do_action 和 add_action 都是 WordPress 中的函数,它们都用于向 WordPress 的插件或主题中添加动作。

do_action :

用于触发插件或主题中已定义的动作。如果插件或主题中定义了某个动作,那么可以使用 do_action 函数来触发这个动作。这样,在插件或主题中可以使用 add_action 函数来监听这个动作,并执行相应的函数。
举个例子,假设插件中定义了一个名为 send_email 的动作,那么插件可以使用 do_action(‘send_email’) 来触发这个动作。如果其他插件或主题想要监听这个动作,就可以使用 add_action 函数来实现。

add_action

用于向插件或主题中添加动作。如果希望在插件或主题中执行某些代码,可以使用 add_action 函数来监听某个动作,并在动作触发时执行代码。

使用 add_action 函数的方式如下:

add_action( $hook, $function_to_add, $priority, $accepted_args );

其中:

  • $hook 是动作的名称。
  • $function_to_add 是要执行的函数的名称。
  • $priority 是执行优先级,数字越小优先级越高。
  • $accepted_args 是要传递给函数的参数个数。

举个例子,假设想要在
每次发布文章时发送邮件通知,可以使用以下代码来实现:

function send_notification_email( $post_id ) {
  // 获取文章信息
  $post = get_post( $post_id );
  $author = get_userdata( $post->post_author );
  $email = $author->user_email;
  // 发送邮件
  wp_mail( $email, '新文章发布通知', '您发布的文章已经发布成功!' );
}
add_action( 'publish_post', 'send_notification_email', 10, 1 );

在这个例子中,使用了 add_action 函数来监听 publish_post 动作,并在动作触发时执行 send_notification_email 函数。

除了上述区别之外,还有几个需要注意的点:

  • do_action 函数可以传递参数,而 add_action 函数在定义时可以设定最多接受几个参数。
  • do_action 函数会触发所有监听该动作的函数,而 add_action 函数只是定义了一个动作的监听器。
  • do_action 函数触发的动作是在当前页面执行,而 add_action 函数定义的动作是在下一次加载页面时执行。

示例代码:

// 在 functions.php 文件中定义一个动作
function my_action_callback() {
  echo 'This is my action.';
}
add_action( 'my_action', 'my_action_callback' );
// 在页面模板文件中触发该动作
do_action( 'my_action' );

在上述代码中,add_action 函数在 functions.php 文件中定义了 my_action 动作的监听器,并设定回调函数为 my_action_callback。而在页面模板文件中,使用 do_action 函数触发了 my_action 动作,从而执行了 my_action_callback 函数。文章来源地址https://www.toymoban.com/news/detail-447581.html

到了这里,关于wordpress 中do_action() 和 add_action() 的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Wp模板,免费WordPress模板,WordPress插件详解

    Wp模板,最近很多站长问我有没有对SEO优化友好的WordPress模板主题。不要问有没有WordPress模板主题,问就是有wp模板主题。但是我们站长如果想做好SEO优化,我们光有“漂亮”的WordPress主题模板是不够的,我们要做SEO基础优化一步一步对网站进行SEO站内优化以及SEO站外优化。我

    2024年02月13日
    浏览(56)
  • 基于WordPress开发微信小程序1:搭建Wordpress

    2年前,在知乎上提问:多数公司为什么宁愿自研也不用wordpress二次开发建站? - 知乎 (zhihu.com),收到了,很多回答 自己打算做一下提升,便有了自己基于wordpress开发微信小程序的想法 基于wordpress+uniapp进行开发,开发一套基础版的微信小程序,现在想到这么多,后面再补充

    2024年04月13日
    浏览(37)
  • 【Wordpress高级教程】WordPress模板基本文件和常见函数调用代码

    WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。 WordPress有许多第三方开发的免费模板,安装方式简单易用。用户可以在支持 PHP 和 MySQL数据库的服务器上快速搭建自

    2024年02月02日
    浏览(38)
  • 用wordpress建站效果怎么样?WordPress建站的8个主要优点

    使用WordPress建站具有许多优势,其效果取决于您的需求、技能水平以及所选择的主题和插件。总体而言,WordPress是一个功能强大且灵活的内容管理系统,可用于创建各种类型的网站,从个人博客和企业网站到电子商务平台和社区论坛。  以下是使用WordPress建站的一些主要优点

    2024年02月12日
    浏览(43)
  • WordPress后台底部版权信息“感谢使用 WordPress 进行创作”和版本号怎么修改或删除?

    不知道各位WordPress站长在后台操作时,是否有注意到每一个页面底部左侧都有一个“感谢使用 WordPress 进行创作。”,其中WordPress还是带有nofollow标签的链接;而页面底部右侧都有一个WordPress版本号,如下图中的“6.4.2 版本”。具体如下图红框位置所示: 对于WordPress后台底部

    2024年01月20日
    浏览(53)
  • WordPress主题Zing V2.2.1/模块化WordPress响应式通用企业商城主题

    WordPress主题Zing V2.2.1,模块化WordPress响应式通用企业商城主题。 功能介绍 百度熊掌号文章实时推送、原创保护 多设备支持自适应布局,支持电脑、Pad、手机以及各种浏览器 SEO优化首页、文章、页面、分类均支持自定义标题、和描述 速度优化图片和头像lazyload异步加载

    2024年02月11日
    浏览(44)
  • WordPress企业模板

    首页大图wordpress外贸企业模板 橙色的wordpress企业模板 演示 https://www.zhanyes.com/waimao/6250.html

    2024年01月17日
    浏览(38)
  • 使用 Docker 部署 WordPress

    使用 Docker 部署 WordPress。 系统架构: 这个系统可以说是比较典型的网站了。MariaDB 作为后面的关系型数据库,端口号是 3306;WordPress 是中间的应用服务器,使用 MariaDB 来存储数据,它的端口是 80;Nginx 是前面的反向代理,它对外暴露 80 端口,然后把请求转发给 WordPress。 需要

    2024年02月19日
    浏览(41)
  • WordPress 中的常规设置

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 给大家安利一个免费且实用的轻量化工具创作平台,👉点击跳转到网站。 在本文中,我们将讨论 WordPr

    2024年01月24日
    浏览(36)
  • Docker WordPress安装

    今天开发应用程序所需要的不仅仅是编写代码。在每个生命周期阶段,工具之间的多种语言,框架,体系结构以及不连续的接口都会带来极大的复杂性。Docker简化并加速了工作流程,同时使开发人员可以自由选择每个项目的工具,应用程序堆栈和部署环境进行创新。 image: 一

    2024年02月08日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包