如何在WordPress中将PHP变量传递给JavaScript
当你构建一个WordPress主题或插件时,有时你会有需要使用PHP数据/值的JavaScript代码。例如,您需要JavaScript代码中的这些值:
-
主页网址
主题选项值
WordPress发布数据
等等
最简单的方法是将这些值初始化为header.php主题文件或wp_head钩子。例如:
<script> var myThemeParams = { homeURL: <?php echo home_url(); ?>, themeOptions: <?php echo get_theme_mod( 'mytheme_options', false ); ?>, } </script>
尽管它可以工作,但是WordPress已经为我们提供了一个这样的功能。它叫做wp_add_inline_script。
wp_add_inline_script( $handle, $data, $position = 'after' )
-
$handle : 要向其中添加内联脚本的脚本的名称。.
$data : 包含要添加的JavaScript的字符串。
$position : 是在句柄之前还是之后添加内联脚本。
该函数将在您的JavaScript代码之前或之后添加一个内联脚本。除了将PHP变量传递给JavaScript之外,它实际上还可以做更多的事情。您可以看到另一个用例在这里。
所以,使用wp_add_inline_script为了将变量从PHP传递到JavaScript,您需要将position属性设置为before,这样它将在您的JS文件之前添加内联脚本。然后初始化一个JavaScript对象,用PHP中的数据设置值。
$myThemeParams = array( 'homeURL' => home_url(), 'themeOptions' => get_theme_mod( 'mytheme_options', false ) ); wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/script.js' ); wp_add_inline_script( 'my-theme-script', 'var myThemeParams = ' . wp_json_encode( $myThemeParams ), 'before' );
在JavaScript中,您可以这样访问它:
console.log( myThemeParams.homeURL ); console.log( myThemeParams.themeOptions );
- 上一篇:如何确定PHP是否适合我的网站或WordPress?
- 下一篇:什么是网络安全?
相关问题
- 2022-08-20 谷歌将降低低品质且非原创内容在搜索结果中的排名
- 2022-08-16 微软将于9月13日禁用IE和EdgeHTML浏览器的TLS 1.0/1.1
- 2022-08-15 Google发布网页端Read Along:教儿童掌握阅读能力
- 2022-08-14 LTS Ubuntu 22.04中没有录制的截屏?以下是解决这个问题的方法
- 2022-08-11 Google的搜索AI现在能够寻找普遍共识以突出更值得信赖的结果
您的见解
-
forex 1楼
- Hi would you mind letting me know which hosting company you're working with? I've loaded your blog in 3 completely different web browsers and I must say this blog loads a lot faster then most. Can you recommend a good web hosting provider at a fair price? Thank you, I appreciate it!
- 发布于 2022/03/17 09:11
-
free freaky porno 2楼
- Hi, all is going fine here and ofcourse every one is sharing data, that's in fact good, keep up writing.
- 发布于 2022/03/11 07:16
-
cara buat robot forex sederhana 3楼
- Hello, all is going well here and ofcourse every one is sharing facts, that's in fact good, keep up writing.
- 发布于 2022/02/03 21:59
- 热门排行
- 最新答案
-
-
如何避免重复提交表单页
family porno free video 回答 2022-04-12 22:06:03
-
如何避免重复提交表单页
free porno wc 回答 2022-04-04 17:47:28
-
如何避免重复提交表单页
binary options system strategy page 回答 2022-04-01 03:42:00
-
自动缓存对动态页面的影响
binary options magnet scams elderly 回答 2022-03-29 14:06:24
-
如何确定PHP是否适合我的网站或WordPress?
แอพเปลี่ยนรูปเป็นภาพวาด 回答 2022-03-27 18:27:12
-