feat: Pods fields in Theme Builder bodies checked against the template's post types (E12)
Both forms Divi writes are recognized (ruling Q11): custom_meta_<key> and the dialog form post_meta_key + select_meta_key. Choice fields get a note about the stored value, relation fields name IDs (F4). Only templates the user may edit are checked or named; others are counted (Q21 pattern). Warnings only, also in the dry run of a live body. DynamicFields extracted from lit/divi-dynamic-sources. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -95,6 +95,20 @@ final class VariableRef
|
||||
return is_array($settings) ? $settings : [];
|
||||
}
|
||||
|
||||
/** The option name of $value when it is exactly one content reference ("custom_meta_role"); null otherwise. */
|
||||
public static function nameOf(string $value): ?string
|
||||
{
|
||||
try {
|
||||
$payload = self::payloadOf($value);
|
||||
} catch (InvalidArgumentException) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$name = $payload['value']['name'] ?? null;
|
||||
|
||||
return ($payload['type'] ?? null) === 'content' && is_string($name) ? $name : null;
|
||||
}
|
||||
|
||||
/** @param array<string, mixed>|stdClass $settings */
|
||||
public static function serialize(string $type, string $name, array|stdClass $settings): string
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user