您现在的位置是:首页 > 网站制作 > WordpressWordpress
WordPress 函数do_action()详解和应用举例
杰帅2023-06-26【Wordpress】人已围观
简介do_action()函数: 我们经常能看到在一些WordPress函数中调用了do_action()函数,例如get_header(), get_footer()等调用模板的函数中经常调用do_action()函数。我们今天一起学习一下WordPress中do_action函数的作用。
do_action()函数: 我们经常能看到在一些WordPress函数中调用了do_action()函数,例如get_header(), get_footer()等调用模板的函数中经常调用do_action()函数。我们今天一起学习一下WordPress中do_action函数的作用。
1.do_action()函数声明(定义)作用
do_action()函数是WordPress的内部函数,作用是创建一个行为钩子,它没有返回值,单纯的就是在特定的地方执行插件或者主题开发者挂载的函数,一般存在于某个特殊的节点或者事件上(比如开始加载主题模板的时候或者发布一篇文章的时候),该函数让wordpress变得更加强大,扩展性更加好。例如wp_head()函数中只有一句代码就是:do_action( ‘wp_head’ ),他的意思就是执行挂载到wp_head这个动作钩子上的所有函数。
do_action($tag, $arg);
//$tag是必须的,为我们创建的动作名称;
//$arg 为我们要执行的"动作";
2.do_action()参数
这个函数可以包含两个或者多个变量,但是第一个$tag变量(动作钩子)是必须的,而且这个函数不会返回值。
$tag
(字符串)(必须)要执行的动作的名字。
$arg
(混合)(可选)额外的参数,会被传到调用的函数里,可以添加无限个,比如保存文章的时候触发 save_post 动作,就可以把保存的文章的 id 穿进去,让回调函数根据文章 id 进行操作。
3、do_action()函数应用示例
//先定义echo_meta,输出内容
function echo_meta(){
echo '<meta name="description" content="511遇见-不一样的遇见" />';
//然后将echo_meta挂载到wp_meta上
add_action('wp_meta','echo_meta');
}
//然后我们去执行wp_meta
function wp_meta() {
do_action('wp_meta');
}
再看一个例子:
//自定义回调函数zidingyihanshu(),该函数有两个参数
function zidingyihanshu( $canshu1, $canshu2 )
{
echo '<code>';
print_r( $canshu1 ); // 输出参数1
echo '</code>';
echo '<br />'.$canshu2; // 输出参数2
}
//把这个函数添加到woshigouzi这个钩子上,让他接受2个参数
add_action( 'woshigouzi', 'zidingyihanshu', 10, 2 );
// 为钩子定义参数值
$canshu1 = array(
'网站名称' => 'WordPress教程网:',
'这是真的吗?' => true,
'我多大了' => (int) 20 );
$canshu2 = '511遇见网络:"do_action函数应用实例"';
//执行挂载到woshigouzi上的函数
do_action( 'woshigouzi', $canshu1, $canshu2 );
下面我们再解释一下这个流程:
- 我们先自定义了一个含有两个参数的回调函数;
2.紧着接我们通过add_action()这个函数把这个回调函数挂载到了woshigouzi这个动作钩子上,设置动作执行的优先级为10,并让这个回调函数可以接受两个参数;
- 我们为这两个参数赋值;
- 通过do_action()函数来执行挂在到woshigouzi这个动作钩子上面的函数,并把两个参数传给挂载到woshigouzi上面的回调函数;这个回调函数就会把这两个参数输出了;
一句话理解do_action()函数就是:执行挂载到钩子上的动作(回调函数实现的)。
Tags:do_action() wordpress函数 wordpress教程
很赞哦! ()
相关文章
随机图文
-
wp_reset_postdata 和 wp_reset_query 的作用与区别
什么时候使用wp_reset_query,什么时候用wp_reset_postdata? -
WordPress 页面模板(Page Template)下拉列表不显示的原因及解决方法
WordPress 的自定义页面模板是一个非常强大好用的功能,使用它新建一些静态页面(Page),添加上一些数据调用的函数,再在网页上做一个导航连接到对应的页面就可以实现很多自定义的功 -
wordpress 上传的图片不显示的问题 base64,data:image/gif
-
wordpress发布文章HTML标签被自动过滤掉该如何处理?
wordpress发布文章时很多html标签都会自动过滤掉,造成了文章中无法添加<style></style><script></script>等标签。那么该如何如何处理呢? 解决方法一: 将wp-includes文件夹下
文章评论
本站推荐
标签云
猜你喜欢
- WordPress网站制作热门文章排行榜(浏览量排序)
- 使你的WordPress网站免受黑客攻击的7种方法
- Linux VPS一键屏蔽指定国家所有的IP访问
- WordPress Bricks 主题存在代码注入漏洞
- WordPress无插件实现主题彩色标签云的N种方法总结
- WordPress初学者入门教程 [02] 拥有一个网站的成本
- WordPress函数:add_menu_page()后台添加顶级菜单用法及举例
- WP Mail SMTP申请White Glove设置(我们为您设置SMTP)
- 为wordpress热门标签加个小图标
- WordPress插件制作教程(七): 插件函数之过滤器(Filter)函数