1

嗨,我使用许多自定义选项创建了一个 WordPress 主题。在将选项保存在后端的同时,我在需要转义的字符之前添加了反斜杠。如'和"。

现在我需要在前端显示它们之前删除它们。最简单的方法是stripslashes(get_option($key)). 但这意味着我必须浏览整个主题并get_option()手动更改所有内容。

有没有办法添加过滤器get_option()

如果没有,有没有办法通过查找/替换来实现这一点(我正在使用允许正则表达式的 Sublime Text 3)?

4

2 回答 2

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。

于 2015-06-16T07:15:29.493 回答
0

是的,在 Sublime Text 中,您可以使用正则表达式来实现它:

查找:get_option\((.[^)]*)\)
替换为:stripslashes(get_option($1))

如果您需要自己调试正则表达式,这是一个有用的工具:https ://regex101.com/r/rY7oG6/2

于 2015-06-16T06:24:58.030 回答