Beklenmeyen kaçış karakteri '&'
Bu hata mesajını görürseniz:
Unexpected string escaped character '&'...şöyle bir durumda:
{"message":"Unexpected string escaped character '&'","locations":[{"line":2596,"column":87}],"extensions":{"code":"gqlparser@4","specifiedBy":"https://spec.graphql.org/draft/#sec-Language"}}Çözüm şudur: eklentiyi devre dışı bırakıp yeniden etkinleştirin.
Bunu yaptıktan sonra, bir DB önbellek eklentiniz varsa DB önbelleğini de temizlemeniz gerekir.
Sorunun açıklaması
Sorunun kaynağı, "translate-customposts" GraphQL query'sinin veritabanında hatalı biçimde saklanmış olmasıdır.
Bu durumun yalnızca eklenti ilk kez kurulduğunda ve yalnızca lisans önceden sağlanmışsa yaşandığı görülmektedir; dolayısıyla bu hata oldukça nadirdir.
Nedenini tam olarak açıklayamasak da WordPress, query içeriğini kaydederken bozabilmektedir.
Özgün query şu şekilde olmasına rağmen:
@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 bunu DB'de şu şekilde saklar:
@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",
)Eklenti devre dışı bırakılıp yeniden etkinleştirildiğinde query veritabanına yeniden kaydedilir ve sorun çözülür.