目前我正在開發一個插件,它連接到內容編輯器。我的回調在編輯後接收了發佈的內容並調用了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也不會改變任何內容。我是否使用正確的過濾器?
謝謝。由於我擔心剝離所有反斜槓的安全方面,我會在進一步研究後再回來。 –