常见问题意外的字符串转义字符 '&'
意外的字符串转义字符 '&'
如果您看到以下错误消息:
Unexpected string escaped character '&'...例如像这样:
{"message":"Unexpected string escaped character '&'","locations":[{"line":2596,"column":87}],"extensions":{"code":"gqlparser@4","specifiedBy":"https://spec.graphql.org/draft/#sec-Language"}}解决方法是:停用插件后重新启用。
完成后,如果您有任何数据库缓存插件,还必须清空数据库缓存。
问题说明
此问题的根源在于 GraphQL Query "translate-customposts" 被错误地存储到了数据库中。
此问题似乎只在插件首次安装时发生,且仅在事先提供了许可证的情况下才会出现,因此此错误非常罕见。
由于某些原因(我们也无法解释),WordPress 在存储 Query 时可能会损坏其内容。
尽管原始 Query 如下所示:
@underJSONObjectProperty(
by: { key: "coreMediaTextAlt" }
affectDirectivesUnderPos: [1, 6]
)
@underJSONObjectProperty(
by: { key: "from" }
affectDirectivesUnderPos: [1, 4],
)
@underEachJSONObjectProperty
@underEachArrayItem(
passValueOnwardsAs: "value"
)
@applyField(
name: "_sprintf",
arguments: {
string: "#(<!-- wp:media-text .*?-->\\n?<div .*><figure .*><img .*?alt=\\\")%s(\\\")#",
values: [$value]
},
setResultInResponse: true
)
@export(
as: "coreMediaTextAltReplacementsFrom",
)
@underJSONObjectProperty(
by: { key: "to" }
)
@export(
as: "coreMediaTextAltReplacementsTo",
)...WordPress 却将其以如下形式存储到数据库中:
@underJSONObjectProperty(
by: { key: "coreMediaTextAlt" }
affectDirectivesUnderPos: [1, 6]
)
@underJSONObjectProperty(
by: { key: "from" }
affectDirectivesUnderPos: [1, 4],
)
@underEachJSONObjectProperty
@underEachArrayItem(
passValueOnwardsAs: "value"
)
@applyField(
name: "_sprintf",
arguments: {
string: "#(<!-- wp:media-text .*?-->\\n?<div><figure><img .*?alt=\\\")%s(\\\")#",
values: [$value]
},
setResultInResponse: true
)
@export(
as: "coreMediaTextAltReplacementsFrom",
)
@underJSONObjectProperty(
by: { key: "to" }
)
@export(
as: "coreMediaTextAltReplacementsTo",
)停用并重新启用插件后,Query 将被重新保存到数据库中,问题即可得到解决。
Prev
Next