JS代码未直接存储在数据库中

时间:2018-07-01 作者:yuvalsab

我试图让管理员用我开发的一个插件存储js代码。出于某种原因for(i = 0; i < 5; i++) 存储为for(i = 0; i &lt; 5; i++).我正在使用sanitize_textarea_field 存储textarea中的字段。我也试过了esc_jsjson_encode, 这对我也不起作用。

我怎样才能解决这个问题?

1 个回复
SO网友:majick

如果您搜索WordPress core&lt;&gt; 您将找到函数_wp_specialchars 在里面/wp-includes/formatting.php

如果你搜索_wp_specialchars 您将看到它用于esc_js (以及esc_htmlesc_attr) 所以不要使用esc_js, 无论如何,转义主要是为了输出。

进一步的搜索结果显示,在/wp-includes/default-filters.php 那个_wp_specialchars 添加到优先级为30的多个筛选器。因此,您需要做的是在保存之前找出哪个过滤器应用于您的文本区域值,以便在保存之前执行此操作:

remove_filter(\'NAME_OF_FILTER_HOOK\', \'_wp_specialchars\', 30);
如果没有实际使用的代码,很难比这更具体,但这应该会给你足够的线索来找到你需要的东西。

结束

相关推荐

如何在ACF中使用single.php创建、阅读和编辑自定义帖子

我有一个WordPress自定义帖子类型product 我现在正在开发用于创建、阅读和编辑这些帖子的前端表单(我正在使用ACF)。我只想用single-product.php 为此目的!有人能在这方面帮助我吗?我已经通过添加基本功能来查看(主机/产品/产品)和编辑帖子(主机/产品/产品?操作=编辑)?操作=编辑链接并显示特定acf_form() 如果$_GET[\"action\"] 是edit 但我也想用这个页面creating new posts!我试图添加new_product 在URL上类似hos