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