我需要我的插件生成以下内容-每页一次:
<script type="text/javascript" src="https://<ritc url for js file>"></script>
<script type="text/javascript">
ritc.initialize(\'63864593a4153879\');
</script>
这样做的目的是允许一个或多个短代码(所有短代码都需要相同的初始化)位于一个页面上。我可以在shortcode函数中使用wp\\u enqueue\\u script(),这适用于第一行ie。
<script type="text/javascript" src="https://<ritc url for js file>"></script>
但是我如何生成下一行要遵循的内容,并且只在页面上生成一次?ie。
<script type="text/javascript">
ritc.initialize(\'63864593a4153879\'); (one line within script tags)
</script>
是否有类似于wp\\u enqueue\\u script()的东西,但它采用字符串而不是url?该字符串将是上面的一行。不要忘记上面第一行的依赖关系。
或者我应该从shortcode函数生成javascript,对其进行管理,使其在页面中只出现一次?(我如何做到这一点?是否可以使用全局变量?)
还是有其他方法可以做到这一点?
期待中的感谢。
科林G
SO网友:Sunyatasattva
最好的方法是使用wp_localize_script()
, 它正是为了达到您所提到的目的:从PHP向Javascript传递字符串。您可以使用它做各种有趣的事情:根据经验,当您希望PHP与Javascript通信时,可以使用它。
在你的情况下,你想要这样的东西:
$ritc = array( \'initialize\' => \'63864593a4153879\' );
wp_localize_script( \'{your_script_handle}\', \'ritc\', $ritc );
这样你就可以打电话
ritc.initialize
在Javascript中。
请注意,您必须使用wp_localize_script
等你enqueued your script 并传递你的脚本$handle
作为参数。