Tradurre widget Elementor aggiuntivi
Gato AI Translations for Polylang può tradurre le pagine Elementor basate su widget.
Il plugin include il supporto per tutti i widget di Elementor ed Elementor PRO. Per i widget personalizzati o di terze parti, puoi estendere il supporto alla traduzione tramite hook PHP.
Tradurre le stringhe
Per dichiarare proprietà traducibili aggiuntive su un widget Elementor, utilizza il filtro gatompl:elementor_widget_type_translatable_properties.
Il filtro riceve una map [widgetName => properties]. La voce properties può contenere:
- Nomi di controlli semplici — ad es.
'author_name' - Percorsi con punti — ad es.
'author_avatar.alt'(corrisponde asettings.author_avatar.alt) - Campi repeater — dichiarati come un sotto-array
[repeaterName => [...subFields]]
Questi elementi si mescolano liberamente e l'annidamento può arrivare a qualsiasi profondità.
Ad esempio, questo hook rende:
- Il controllo semplice
author_namee il percorso con puntiauthor_avatar.alttraducibili sul widgetblockquote - Il sotto-campo
namedel repeater traducibile all'interno del repeaterslidesdel widgetreviews
add_filter(
'gatompl:elementor_widget_type_translatable_properties',
static function (array $translatableProperties): array {
$translatableProperties['blockquote'][] = 'author_name';
$translatableProperties['blockquote'][] = 'author_avatar.alt';
$translatableProperties['reviews']['slides'][] = 'name';
return $translatableProperties;
}
);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 post, un termine di tassonomia, un elemento multimediale o un menu) che deve essere rimappato sull'entità corrispondente nella lingua di destinazione al momento della traduzione. Utilizza il filtro corrispondente:
| Tipo di riferimento | Filtro |
|---|---|
| Custom post e media | gatompl:elementor_widget_type_custompost_and_media_reference_properties |
| Termini di tassonomia | gatompl:elementor_widget_type_taxonomy_term_reference_properties |
| Menu per ID | gatompl:elementor_widget_type_menu_reference_by_id_properties |
| Menu per slug | gatompl:elementor_widget_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:elementor_widget_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:elementor_widget_type_taxonomy_term_reference_properties',
static function (array $properties): array {
$properties['related-category'][] = 'category_id';
return $properties;
}
);
// Menu reference by ID
add_filter(
'gatompl:elementor_widget_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:elementor_widget_type_menu_reference_by_slug_properties',
static function (array $properties): array {
$properties['menu-picker'][] = 'menu_slug';
return $properties;
}
);Scoprire i nomi dei widget e delle proprietà
Esegui la query GraphQL Translate custom posts e ispeziona il campo elementorData nella risposta. Ogni widget espone il proprio widgetType e il proprio 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/Elementor/Constants/WidgetTypes.php