将自定义 Wordpress Post/Page 元字段的值分配给 JavaScript 变量

Assign Value of Custom Wordpress Post/Page Meta Field to JavaScript Variable

有没有办法通过 JavaScript 的某些行将 Wordpress post/page 中自定义元字段的值分配给 JavaScript 变量?

换句话说,我在我所有的 Wordpress 帖子和页面中都有一个名为 "customamznsearch" 的自定义元字段。我想将该字段的值分配给具有相同名称的 JavaScript 变量...如果需要,也可以使用不同的名称。

此外,如果该元字段中没有可用数据,还可以为变量定义一个静态值。

这是将使用 "customamznsearch" 变量的代码。

<script type="text/javascript">
amzn_assoc_placement = "adunit0";
amzn_assoc_tracking_id = "livcouintheci-20";
amzn_assoc_ad_mode = "search";
amzn_assoc_ad_type = "smart";
amzn_assoc_marketplace = "amazon";
amzn_assoc_region = "US";
amzn_assoc_textlinks = "";
amzn_assoc_linkid = "0c1ce8995df23ae16ec99d3bb32502ec";
amzn_assoc_default_category = "SportingGoods";
amzn_assoc_default_search_phrase = customamznsearch;
</script>
<script src="//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US"></script>

此代码将显示在我页面页脚的增强型文本小部件中。增强文本小部件应该完全能够支持文本、HTML、CSS、JavaScript、Flash、简码和 PHP.

您可以像这样从 php 输出 javascript 代码:

<script>
var customamznsearch = "<?php echo addcslashes($customamznsearch, '"'); ?>";
</script>

或者如果您想从 <meta> 标签中获取它,那么:

function getMeta(metaName) { 
   var metas = document.getElementsByTagName('meta'); 

   for (i=0; i<metas.length; i++) { 
      if (metas[i].getAttribute("name") == metaName) { 
         return metas[i].getAttribute("content"); 
      } 
   } 

    return "";
}

var twitterTitle = getMeta("twitter:title");

经过大量研究,以下代码片段最终起作用(请注意,我决定将变量更改为 'amazonadserach'):

var amazonadsearch = "<?php global $post;
$amazonadsearch = get_post_meta($post->ID, 'amazonadsearch', true);
echo $amazonadsearch; ?>";