目前我正在开发一个插件,它连接到内容编辑器。我的回调在编辑后接收了发布的内容并调用了do_shortcode(),但是有一个问题,我不知道如何解决它。防止WordPress转义短代码属性(已解决)
add_filter('wp_insert_post_data', 'prepareContentSaving', 99, 2);
add_filter('wp_update_post_data', 'prepareContentSaving', 99, 2);
举例来说,如果我的帖子看起来像(这显然看起来像是有效的简码语法):
[foo bar="two words"]
我的回调接收:
[foo bar=\"two words\"]
看起来正确的,对不对?但现在只要简码通过do_shortcode解析()的参数解析像
[tag argument1=value1 argument2]
,而不是
[tag argument="Foo bar"]
,然后看在PHP是这样的:
array(
[0]=> string "bar=\"two"
[1]=> string "words\""
)
那么如何我可以防止短代码内的引号被转义吗?发布数据钩子有问题吗?将优先级从99更改为0也不会改变任何内容。我是否使用正确的过滤器?
谢谢。由于我担心剥离所有反斜杠的安全方面,我会在进一步研究后再回来。 –