我在functions.php中添加了一个全局变量,该变量位于我的主题文件夹中但不能在javascript中解析
所以在functions.php中我有:
global $the_url;
$the_url = "https://google.com";
然后在我的main.js文件中,我添加了:
alert ('<?php echo $the_url ; ?>');
但我的警报实际上输出了字符串<?php echo $the_url; ?>
我也尝试过警告('<?php print($the_url); ?>');
,但我又在警报
最后我尝试删除引号alert (<?php echo $requests_url ; ?>);
但我收到了意外令牌错误&lt;
任何人都有任何想法,为什么这不起作用?
答案 0 :(得分:0)
这是因为您在JS文件中使用PHP代码。您需要在行</head>
之前将JS代码移动到诸如header.php之类的PHP文件。
<script type="text/javascript">alert('<?php echo $the_url ; ?>');</script>
答案 1 :(得分:0)
这是示例代码
functions.php中的示例
<?php function my_code() { >
<script>
var home = '<?php echo bloginfo('url'); ?>';
alert(home);
</script>
<?php }
add_action('wp_head','my_code');
?>
答案 2 :(得分:0)
使用wp_localize_script
<?php
// Register the script first.
wp_register_script( 'some_handle', 'path/to/myscript.js' );
// Now we can localize the script with our data.
$translation_array = array( 'some_string' => 'some value', 'a_value' => '10' );
wp_localize_script( 'some_handle', 'object_name', $translation_array );
// The script can be enqueued now or later.
wp_enqueue_script( 'some_handle' );
您可以按如下方式访问JavaScript中的变量:
<script>
alert( object_name.some_string) ; // alerts 'Some value'
</script>
以上代码摘自Wp_localize_script