首页 文章

将自定义Wordpress帖子/页面元字段的值分配给JavaScript变量

提问于
浏览
1

有没有办法通过一些JavaScript行将Wordpress帖子/页面中的自定义元字段的值分配给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>

此代码将显示在页面页脚的增强文本小部件中 . Enhanced Text小部件应完全支持Text,HTML,CSS,JavaScript,Flash,Shortcodes和PHP .

2 回答

  • 0

    你可以从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");
    
  • 0

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

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

相关问题