おっしゃる通りです。自分の環境では動作していると思っていましたが、そうではなかったようです。![]()
こちらが代替案です。JS経由でカスタムCSSプロパティを設定します。
document.documentElement.style.setProperty(
"--hat-url",
`url(${settings.theme_uploads[settings.hat_type]}`
);
body {
background: var(--hat-url);
}
settings.theme_uploads にはアップロードのリストが含まれます。
例:

その後、設定に基づいてカスタムプロパティを設定します。
私のテストでは、url(var(--hat-url)) としても機能しませんでした。そのため、url() をカスタムプロパティに直接渡しました。