tl;dr; 破折号(连字符)-
在短代码中使用是安全的attribute values.
快捷码属性值规则:快捷码attribute values, 任何东西other than the following 四个通常可以:
不应该有任何方括号[
或]
, e、 g。[foo bar=\'baa]z\']
单引号中不应该有单引号,例如。[foo bar=\'baa\'z\']
双引号中不应该有双引号,例如。[foo bar="baa"z"]
反斜杠\\
将被逃脱
因此以下示例短代码属性值很好:// dash or hyphen is fine
[foo bar=\'baa-z\']
// Double quote within single quote is fine
[foo bar=\'baa"z\']
// single quote within double quote is fine
[foo bar="baa\'z"]
// space is fine
[foo bar=\'baa z\']
// use double back slash to get single back slash
[foo bar=\'baa\\\\z\']
引用自codex:属性值不得包含以下字符:方括号:[ ]
报价:" \'
无引号的值也不得包含空格。
HTML字符<
和>
对属性的支持有限。
建议使用HTML编码来转义短代码属性中的特殊字符。最重要的是,出现在shortcode属性中的任何用户输入都必须转义或去除特殊字符。
请注意,允许在单引号值内使用双引号,反之亦然,但在处理用户输入时,不建议使用双引号。
下列字符如果未在属性值内转义,将自动剥离并转换为空格:
无中断空间:\\xC2\\xA0
零宽度空间:\\xE2\\x80\\x8B