萨龙网络
Login
Home-WordPress文章-WordPress-正文

使用 wp_add_inline_script 函数向 WordPress 站点输出脚本

萨龙龙萨龙龙
WordPress
7年前
0
0
1.55W
前面我们介绍了wpadd_inline_style函数的使用,并为主题添加自定义样式切换功能,既然有函数可以向站点输出 css 样式,同时也可以向站点输出 script 脚本,用到的是wp_add_inline_script 函数。 函数只有在脚本已经在队列中时才会添加代码,接受包含代码的字符串$data。如果将两个或更多的代码块添加到同一个脚本$handle中,它们将按照添加的顺序打印,也就是说,后者添加的代码可以重新声明前面的代码。

一、使用

wp_add_inline_script( $handle, $data );

二、参数

1、$handle (string) (必填)添加额外样式的脚本的名称,小写的字符串。默认值:无 2、$data (string) (必填)包含要添加的CSS的字符串。默认值:无 3、$position (string)(可选)是在 handle 之前还是之后添加内联脚本。默认值:after

三、来源

文件: wp-includes/functions.wp-scripts.php
function wp_add_inline_script( $handle, $data, $position = 'after' ) {
    _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
    if ( false !== stripos( $data, '' ) ) {
        _doing_it_wrong( __FUNCTION__, sprintf(
            /* translators: 1: [script], 2: wp_add_inline_script() */
            __( 'Do not pass %1$s tags to %2$s.' ),
            '[code]<script>[/code]',
            '[code]wp_add_inline_script()[/code]'
        ), '4.5.0' );
        $data = trim( preg_replace( '#[script[^>]*>(.*)[/script]#is', '$1', $data ) );
    }
 
    return wp_scripts()->add_inline_script( $handle, $data, $position );
}
注:HTML 标签会被站点直接解析,所以 code 的尖括号改成了中括号。

四、实例

1、下面的代码可以很容易地将Typekit’s JavaScript添加到您的主题中:
function mytheme_enqueue_typekit() {
   wp_enqueue_script( 'mytheme-typekit', 'https://use.typekit.net/.js', array(), '1.0' );
   wp_add_inline_script( 'mytheme-typekit', 'try{Typekit.load({ async: true });}catch(e){}' );
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_typekit' );
输出结果:
[script type="text/javascript" src="https://use.typekit.net/.js?ver=1.0"]
    try{Typekit.load({ async: true });}catch(e){}
[/script]
注:加载 JS 脚本标签由于站点会直接解析,所以将尖括号改成了中括号。 2、添加内联脚本
function theme_prefix_enqueue_script() {
   wp_enqueue_script( 'main-js', '/main.js', array(), '1.0' );
   wp_add_inline_script( 'main-js', 'alert("hello world");' );
}
add_action( 'wp_enqueue_scripts', 'theme_prefix_enqueue_script' );
注:『main-js』需要与已加载的 JS 脚本名称一样,内联脚本将添加到已加载脚本之前或者之后的位置。 3、对于依赖于jquery的脚本,请使用以下命令:
function theme_prefix_enqueue_script() {
   if ( ! wp_script_is( 'jquery', 'done' ) ) {
     wp_enqueue_script( 'jquery' );
   }
   wp_add_inline_script( 'jquery-migrate', 'jQuery(document).ready(function(){});' );
}
add_action( 'wp_enqueue_scripts', 'theme_prefix_enqueue_script' );
通过wp_add_inline_script函数,我们就可以在 PHP 代码中控制并输出 JS 脚本。原文地址
Tags:
本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wp-add-inline-script.html
萨龙龙

萨龙龙

侠客
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!
1342.28M456.88W4.19W
Loading...
Share:
禁用管理员通知『连接您的店铺到 WooCommerce.com 接受扩展更新和支持』
禁用管理员通知『连接您的店铺到 WooCommerce.com 接受扩展更新和支持』Previous
WordPress 添加菜单项目描述Next
WordPress 添加菜单项目描述
相关文章
Total: 107

WordPress 主题 Slearn Pro 产品插件之属性设置

产品属性可在后台「产品——产品选项——属性」中单独设置(也可在编辑产品时再次添加),有三种类型:文本、颜色和图片,在前台也是以这三种方式来显示。…
萨龙龙萨龙龙
WordPress
3年前
0
0
2.51W
0

WordPress添加标签相关文章简码

自从了解到WordpressMU多站点,就开始一步一步的向多站点发展,也将萨龙网络所有站点都安装在WordpressMU多站点中。在使用多站…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.24W
0

WordPress+Nuxt3前后端分离项目,实现不限层级的多维数组菜单

使用WordPress+Nuxt3做前后端分离项目时,菜单需要多维数组,且不限层级,可以使用递归函数很方便地将wp_get_nav_menu…
萨龙龙萨龙龙
WordPress
2年前
2
1
3.40W
0

WordPress为所有文章自动添加自定义字段

Sixianqiu主题是专为诗歌设计开发的主题,有一些朋友也需要这样的多形式博客主题,就整理出来了。一开始所有的文章内容都是居中显示,这样对于其…
萨龙龙萨龙龙
WooCommerce
8年前
0
0
1.68W
0

CSS3 background-attachment:fixed实现滚动视差效果

一直都想设计一个有滚动视差效果的主题,而网上所有的介绍和有视差效果的主题都是使用jQuery来实现,而且由于视差背景图是一张满屏的大小,所以一直…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.53W
0

WordPress Mega超级大菜单插件Ubermenu

Ubermenu是一个用户友好的、可高度定制响应式的Wordpress超级大菜单插件,工作原理与Wordpress3菜单系统类似,强大到可创建…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.71W
0

WordPress 一键数据库初始化重置插件:WordPress Reset

在开发WordPress主题中,需要N多次测试,这样就需要多次重装测试网站,这样相当的麻烦。今天了解到一款数据库初始化插件:WordPr…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.92W
0

WordPress一行代码允许重复评论的功能

默认情况下WordPress是不允许重复的评论提交,主要是为了防止垃圾评论。有些情况下又需要重复评论,最近用户需要在MNewsPro主题上定制…
萨龙龙萨龙龙
WordPress
1年前
1
1
7.74K
0

删除或失效WordPress文章中的图像大小属性

默认情况下,WordPress会将图像元素width和height属性添加到图像元素中。这些属性会影响CSS宽度和高度属性,图片延迟加载时默认图…
萨龙龙萨龙龙
WordPress, 前端资讯
6年前
0
0
1.17W
0

WordPress 媒体库支持 SVG 图标的上传与预览

WordPress默认支持多种图片格式包括.jpg,.jpeg,.png,和.gif,出于安全考虑不能上传可缩放矢量图形(SVG)。SVG是…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.24W
0

WordPress前台登录函数wp_login_form的用法

网站开放注册的站点都会添加一个前台登录与注册的表单或页面,这样方便用户登录站点,同时也保证网站后台的安全性。今天我们来介绍前台登录函数wp_lo…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.95W
0

WooCommerce 商城插件的条件式标签

可以在模板文件中使用WooCommerce和WordPress的条件式标签,以根据匹配页面的条件来显示的特定内容。例如,您可能想要在商店页面上方…
萨龙龙萨龙龙
WooCommerce
8年前
0
0
1.31W
0
评论表单游客 您好,欢迎参与讨论。
Loading...
评论列表
Total: 0
萨龙网络
No relevant content