萨龙网络
登录
首页-WordPress文章-WordPress-正文

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

萨龙龙萨龙龙
WordPress
7年前
0
0
1.58W
前面我们介绍了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 脚本。原文地址
标签:
本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wp-add-inline-script.html
萨龙龙

萨龙龙

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

让SI CAPTCHA Anti-Spam插件支持WooCommerce注册表单验证码

萨龙网络使用的主题Purity最新版本弃用了Buddypress社区插件,这样注册表单只能使用WooCommerce商城自带的,验证码还是使用S…
萨龙龙萨龙龙
WooCommerce, WordPress
9年前
0
0
1.66W
0

WordPress使用WP-Cron函数定时执行任务

WordPress本身一直有WP-Cron(计划任务)的功能,可以设置每隔一段时间来执行,不过WP-Cron功能是基于页面浏览的,所以时…
萨龙龙萨龙龙
WordPress
7年前
0
0
2.16W
0

WordPress多站点社区动态中获取自定义文章类型更新

萨龙网络使用Buddypress社区已经很长一段时间,在社区首页动态中可能获取整个网站的最新文章、用户注册,用户动态内容,而自定义文章类型的发布…
萨龙龙萨龙龙
Buddypress, WordPress
9年前
0
0
1.22W
0

WordPress 主题禁用古滕堡编辑器和小工具

WordPress4.9.8版本就发布了古滕堡编辑器,很好用,添加文章也比经典编辑器方便很多。在5.8版本后又在小工具中增加了古滕堡编辑…
萨龙龙萨龙龙
WordPress
4年前
0
0
1.55W
0

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

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

WordPress 重置缩略图插件 Regenerate Thumbnails 获取媒体数量时错误的解决方法

WordPress一键重置缩略图使用相当简单方便,设置了媒体中要裁剪的缩略图参数(使用了WooCommerce商城插件,需要在外观——自定…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.08W
0

WordPress the_date() 函数将同一天的文章显示在一个日期下

在开发MNews主题的快讯功能时,希望一天内发布的快讯文章在当天日期下,而不是每篇都显示一个日期,通过the_date()函数可完美的达到这…
萨龙龙萨龙龙
WordPress
7年前
0
0
9.44K
0

WordPress强大的开源后台框架Redux Framework介绍与使用

开发一个WP主题有了前端页面设计的美观与布局外,后台选项也是相当重要的一个组成部分,好的后台框架在使用主题时方便快捷的设置各个功能,也让主题开发…
萨龙龙萨龙龙
WordPress
10年前
0
0
2.39W
0

WordPress获取优酷视频缩略图

很多网站的视频都是来自在线视频网站,这样即节省网站空间也带来更高的访问速度,优酷视频是使用较多的。在添加视频文章时我们都想直接获取视频中的缩略图…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.28W
0

移除 WooCommerce 商城插件编辑产品中的产品数据相关 tabs

WooCommerce插件默认为编辑产品页面提供了产品数据TABS,默认包括:常规、库存、配送、联锁产品、属性、高级等模块,功能强大而实用。…
萨龙龙萨龙龙
WooCommerce
8年前
0
0
1.36W
0

WooCommerce 商城首页排除指定分类

WooCommerce是WordPress中最强大的商城插件,没有之一。在Slearn主题的开发过程中,需要将课程和商城结合,课程使用…
萨龙龙萨龙龙
WooCommerce
6年前
0
0
1.09W
0

修改Buddypress中管理员的显示名与用户名区别开提高账户安全

Buddypress社区中有很多地方会直接显示用户登录名,比如用户个人主题中的名称和链接中,所有来访的用户都知道了管理员的用户名,对于小人知道了…
萨龙龙萨龙龙
Buddypress, WordPress
10年前
0
0
1.68W
0
评论表单游客 您好,欢迎参与讨论。
加载中…
评论列表
总数:0
萨龙网络
没有相关内容