我在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 值。
因此,我寻求的帮助如下。
- 如何将标题中设置的全局变量.php调用到漂亮的照片.js文件中
- 如何编写一个将使用这些变量并输出上面所示的 HTML 的函数。
- 有没有比使用全局变量更好的方法,或者它们是唯一的方法。
一个非常简单的方法在 html 中是这样的:
<p>
Sponosor: <script type="text/javascript">document.write('<a href="' + prettyLink + '" target="_blank">' + prettyName + '</a>');</script>
</p>
但是,如果您需要访问已加载的脚本,并且您位于该脚本内部,那么您可以通过窗口访问它
var LinkText = window["prettyName"];
我通常使用wp_localize_script来做这种事情。它的优点是将不同的 js 变量包装到一个全局访问点中。
此处的教程应该可以帮助您入门。http://betterwp.net/wordpress-tips/script-localization/