Wordpress的钩子(hook)

来源:互联网 发布:数据质量系统 编辑:程序博客网 时间:2024/05/16 02:15

如果需要插入新的js和css文件,Wordpress提供了一个特殊的函数add_action(),将函数连接到指定action(动作)。

在Plugin API/Action Reference 上查看动作hook列表。wordpress核心调用do_action() 时触发动作。

<?php  add_action( $tag, $function_to_add, $priority,        $accepted_args );?>

参数
tagfunction_to_add 所挂载的动作(action)的名称。(在Plugin API/Action Reference 上查看动作hook列表)。也可以是一个主题或插件文件内部的一个动作,或者特定的标签“all”,这个函数将被所有的钩子(hooks)调用。
默认值:None

$function_to_add
(回调)(必填)你希望挂载的函数的名称。注:在 PHP“回调”类型文档中 所罗列的字符串格式化的语法均可用。
默认值:None

$priority
(整数)(可选)用于指定与特定的动作相关联的函数的执行顺序。数字越小,执行越早,具有相同优先级的函数在它们被添加到动作的顺序执行。
默认值:10

$accepted_args
(整数)(可选)挂钩函数所接受的参数数量。在 WordPress1.5.1 及以后的版本中,挂钩函数可以是调用do_action() 或 apply_filters()时设置的参数。例如,comment_id_not_found动作将传递任何函数,若该函数将所请求的评论编号连接到该动作。
默认值:1

返回值(布尔)总是True。

但是不建议直接去添加代码到 wp_head() 或 wp_footer() 钩子上,而是要使用 WordPress 官方文档建议使用的 WP 内建的wp_enqueue_script() 和 wp_enqueue_style() 等函数进行操作。

// 引入jsfunction wpb_adding_lineplayer_js() {wp_register_script('lineplayer_js', plugins_url('js/lineplayer.js', __FILE__), array('jquery'),null, true);wp_enqueue_script('lineplayer_js');}

wp_enqueue_script()

<?php wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); ?>

handleJS(string)src:JS 的文件 URL (string);
depsJSJS(array:string,)ver:JS 的版本号,留空则使用当前 WP 版本号 (string, 非必需);
$in_footer:是否放置到网页 HTML 底部加载 (boolean, 非必需)。

wp_enqueue_style()

<?php wp_enqueue_style( $handle, $src, $deps, $ver, $media ); ?>

handleCSS(string)src:CSS 的文件 URL (string);
depsCSSCSS(array:string,)ver:CSS 文件的版本号,留空则使用当前 WP 版本号 (string, 非必需);
$media:用于加载 CSS 的头部标签 link 的 media 参数值 (string, 非必需)。

0 0