如何将斜杠添加到 get_option()
How to add stripslashes to get_option()
嗨,我使用许多自定义选项创建了一个 WordPress 主题。在将选项保存在后端时,我在需要转义的字符之前添加了反斜杠。如 ' 和 ".
现在我需要先删除它们,然后再在前端显示它们。最简单的方法是 stripslashes(get_option($key))
。但这意味着我必须遍历整个主题并手动更改所有 get_option()
。
有没有办法向 get_option()
添加过滤器?
如果没有,有没有办法通过 find/replace 实现此目的(我使用的是允许正则表达式的 Sublime Text 3)?
是的,在 Sublime Text 中你可以用正则表达式实现它:
查找:get_option\((.[^)]*)\)
替换为:stripslashes(get_option())
如果您需要自己调试正则表达式,这里有一个有用的工具:https://regex101.com/r/rY7oG6/2
为什么不直接创建自己的函数来代替 get_option()
(但它利用了它)?例如,您可以在 functions.php 中定义以下内容:
function my_stripslashes_function($option, $default = false) {
return stripslashes( get_option($option, $default) );
}
然后使用 Sublime 将 get_option
的所有实例替换为 my_stripslashes_function
...不需要正则表达式,而且更干。
嗨,我使用许多自定义选项创建了一个 WordPress 主题。在将选项保存在后端时,我在需要转义的字符之前添加了反斜杠。如 ' 和 ".
现在我需要先删除它们,然后再在前端显示它们。最简单的方法是 stripslashes(get_option($key))
。但这意味着我必须遍历整个主题并手动更改所有 get_option()
。
有没有办法向 get_option()
添加过滤器?
如果没有,有没有办法通过 find/replace 实现此目的(我使用的是允许正则表达式的 Sublime Text 3)?
是的,在 Sublime Text 中你可以用正则表达式实现它:
查找:get_option\((.[^)]*)\)
替换为:stripslashes(get_option())
如果您需要自己调试正则表达式,这里有一个有用的工具:https://regex101.com/r/rY7oG6/2
为什么不直接创建自己的函数来代替 get_option()
(但它利用了它)?例如,您可以在 functions.php 中定义以下内容:
function my_stripslashes_function($option, $default = false) {
return stripslashes( get_option($option, $default) );
}
然后使用 Sublime 将 get_option
的所有实例替换为 my_stripslashes_function
...不需要正则表达式,而且更干。