我在Wordpress帖子上创建了元数据键,如下所示:prettyAd,prettyName,prettyLink。我想获取每个键的值并将其加载到我站点标题中的全局变量中。
我在我的WordPress主题标题中设置全局变量,如下所示......
<script type="text/javascript">
var prettyAd = "<?php echo get_post_meta($post->ID, 'prettyAd', true); ?>";
var prettyName = "<?php echo get_post_meta($post->ID, 'prettyName', true); ?>";
var prettyLink = "<?php echo get_post_meta($post->ID, 'prettyLink', true); ?>";
</script>
加载页面时会输出以下信息......
<script type="text/javascript">
var prettyAd = "http://mydomainname.com/ad-placeholders/ad.png";
var prettyName = "Pet Store Shop";
var prettyLink = "http://mydomainname.com/advertise/";
</script>
之后,加载了一个外部JavaScript文件(prettyphoto.js - 版本3.1),我想访问上面设置的变量。
<script type="text/javascript" src="http://mydomain.com/wp-content/themes/wpnavigator/scripts/prettyphoto.js"></script>
一旦上述文件可以访问变量,我想将它们加载到我引用它们的下面的html中。
<p>
Sponosor: <a href="var prettyLink" target="_blank">var prettyName</a>
</p>
<p>
<a href="var prettyLink" target="_blank">
<img src="var prettyAd" width="468" height="60" alt="Sponsors Ad" />
</a>
</p>
根据我的理解,我需要让JavaScript编译整个标记,因为我无法直接加载变量作为src和href值。
所以我正在寻求帮助的是以下内容。
答案 0 :(得分:0)
在html中,一个非常简单的方法就是这样:
<p>
Sponosor: <script type="text/javascript">document.write('<a href="' + prettyLink + '" target="_blank">' + prettyName + '</a>');</script>
</p>
但是,如果您需要在已加载的脚本中进行访问,并且您在该脚本中,那么您可以通过窗口访问它
var LinkText = window["prettyName"];
答案 1 :(得分:0)
我通常使用wp_localize_script来做这种事情。它的优点是将不同的js变量包装到一个单一的全局访问点中。
这里的教程应该让你入门。 http://betterwp.net/wordpress-tips/script-localization/