Tradurre elementi Bricks aggiuntivi
Gato AI Translations for Polylang può tradurre pagine e modelli Bricks basati su elementi.
Il plugin include il supporto per tutti gli elementi forniti da Bricks. Per gli elementi Bricks personalizzati o di terze parti, puoi estendere il supporto alla traduzione tramite hook PHP.
Tradurre le stringhe
Per dichiarare proprietà traducibili aggiuntive su un elemento Bricks, usa il filtro gatompl:bricks_element_type_translatable_properties.
Il filtro riceve una map [elementName => properties]. La voce properties può contenere:
- Nomi di controlli semplici — ad es.
'separatorText' - Percorsi con punti — ad es.
'home.text'(corrisponde asettings.home.text) - Campi repeater — dichiarati come sotto-array
[repeaterName => [...subFields]]
Questi elementi si combinano liberamente e l'annidamento può raggiungere qualsiasi profondità.
Ad esempio, questo hook rende:
- Il controllo semplice
separatorTexte il percorsohome.texttraducibili sull'elementobreadcrumbs - Il sotto-campo
titledel repeater traducibile all'interno del repeateritemsdell'elementoteam-members
add_filter(
'gatompl:bricks_element_type_translatable_properties',
static function (array $translatableProperties): array {
$translatableProperties['breadcrumbs'][] = 'separatorText';
$translatableProperties['breadcrumbs'][] = 'home.text';
$translatableProperties['team-members']['items'][] = 'title';
return $translatableProperties;
},
10,
1
);Lo stesso filtro funziona sia per i controlli semplici sia per i campi repeater — non esiste un hook separato per i repeater.
Tradurre i riferimenti a entità
Una proprietà può memorizzare l'ID di un'entità (un articolo, un termine di tassonomia, un elemento multimediale o un menu) che deve essere rimappato all'entità corrispondente nella lingua di destinazione al momento della traduzione. Usa il filtro corrispondente:
| Tipo di riferimento | Filtro |
|---|---|
| Custom post e media | gatompl:bricks_element_type_custompost_and_media_reference_properties |
| Termini di tassonomia | gatompl:bricks_element_type_taxonomy_term_reference_properties |
| Menu per ID | gatompl:bricks_element_type_menu_reference_by_id_properties |
| Menu per slug | gatompl:bricks_element_type_menu_reference_by_slug_properties |
La forma è la stessa del filtro delle proprietà traducibili — nomi semplici, percorsi con punti o sotto-array per i repeater.
// Custom post / media reference
add_filter(
'gatompl:bricks_element_type_custompost_and_media_reference_properties',
static function (array $properties): array {
$properties['featured-post'][] = 'post_id';
$properties['gallery']['items'][] = 'image_id';
return $properties;
}
);
// Taxonomy term reference
add_filter(
'gatompl:bricks_element_type_taxonomy_term_reference_properties',
static function (array $properties): array {
$properties['related-category'][] = 'category_id';
return $properties;
}
);
// Menu reference by ID
add_filter(
'gatompl:bricks_element_type_menu_reference_by_id_properties',
static function (array $properties): array {
$properties['menu-picker'][] = 'menu_id';
return $properties;
}
);
// Menu reference by slug
add_filter(
'gatompl:bricks_element_type_menu_reference_by_slug_properties',
static function (array $properties): array {
$properties['menu-picker'][] = 'menu_slug';
return $properties;
}
);Scoprire i nomi degli elementi e delle proprietà
Esegui la query GraphQL Translate custom posts e ispeziona il campo bricksData nella risposta. Ogni elemento espone il suo name e il suo albero di settings — è lì che troverai i nomi delle proprietà (inclusi i percorsi annidati con punti e i campi repeater) che devi passare agli hook qui sopra.

Consulta la guida Recuperare i dati del page builder da tradurre per sapere come eseguire questa query.
Dove trovare esempi
Le integrazioni del plugin stesso sono un riferimento utile. Esplora questo file all'interno del plugin che hai installato:
wp-content/plugins/gato-ai-translations-for-polylang/src/ConditionalOnContext/LicenseIsActive/ConditionalOnModule/Bricks/Constants/ElementTypes.php