根据自定义字段值生成javascrip变量的“适当”方式是什么?

时间:2012-01-13 作者:Andrija

在我的网站上,我有一些带有自定义字段“Name”的帖子。现在,如果帖子设置了“Name”,我想生成以下代码:

<script type=\'text/javascript\'>
    var FG_DONATE_BUTTON_PARAMS = { attribution: \'honor\',   attribution_name: Name}     
</script>
其中attributement\\u Name后面的Name指的是自定义字段值。出于测试目的,我在标题中使用了此代码

$nameAttribute= get_post_meta($post->ID, \'Name\', true); 
printf(\'<script type=\\\'text/javascript\\\'>
var FG_DONATE_BUTTON_PARAMS = { 
    attribution: \\\'honor\\\', 
    attribution_name: \\\'\' . $nameAttribute .\'\\\'
} </script>\');
但我有两个问题。首先,$nameAttribute的值无法传递,其次,它很难看:)我想我可以处理这个值问题,但我不确定什么是“正确的”输出方法。

1 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

您可以查看this question. 在这个问题中,管理员ajax url是通过的,但它可以是任何变量(或变量数组),例如$nameAttribute.

例如,你会打电话

wp_localize_script(\'my_js_file_handle\',\'my_js_object\',array(\'attribute\'=>$nameAttribute))` 
然后在js文件中,可以从my\\u js\\u对象访问该变量。属性

(但必须将javascript文件排队!)

结束

相关推荐

将JSON编码的HTML从WordPress传递到JavaScript

我试图通过wp\\u localize\\u script()将帖子的内容(可能包含HTML)传递给JavaScript。wp\\u localize\\u script()无法处理多维数组,因此encoding it in JSON and then decoding it with jQuery.只要您只是文本,并替换&quot; 具有常规\" 在你打电话之前$.parseJSON(). 但是,如果您尝试解析包含HTML的帖子,会出现如下错误:,JSON。分析:应为属性名或“}”http://