如果需要插入新的js和css文件,Wordpress提供了一个特殊的函数add_action(),将函数连接到指定action(动作)。
在Plugin API/Action Reference 上查看动作hook列表。wordpress核心调用do_action() 时触发动作。
<?php
add_action( $tag, $function_to_add, $priority,
$accepted_args );
?>
参数
tag(字符串)(必填)function_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() 等函数进行操作。
// 引入js
function 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 ); ?>
handle:用于区别JS名称,即标识字串(string);src:JS 的文件 URL (string);
deps:加载的JS所依存的其他JS标识字串数组(array:string,非必需);ver:JS 的版本号,留空则使用当前 WP 版本号 (string, 非必需);
$in_footer:是否放置到网页 HTML 底部加载 (boolean, 非必需)。
wp_enqueue_style()
<?php wp_enqueue_style( $handle, $src, $deps, $ver, $media ); ?>
handle:用于区别CSS的名称,即标识字串(string);src:CSS 的文件 URL (string);
deps:加载的CSS所依存的其他CSS标识字串数组(array:string,非必需);ver:CSS 文件的版本号,留空则使用当前 WP 版本号 (string, 非必需);
$media:用于加载 CSS 的头部标签 link 的 media 参数值 (string, 非必需)。