Plugin Devenia instalado e testado em emanuelalmeida.pt (19-08-2026): 89 abilities elementor/* via WordPress Abilities API nativa. Confirmado nao acessivel por MCP nesta sessao (sem servidor MCP proprio) - testado via wp eval-file + WP_Ability::execute(). Achados reais: camada de auditoria de design funcional (evaluate-design score 88/100 em pagina real), delete-template funcional (preenche gap do EMCP), gate template-first em authoring primitives, bug de poluicao de settings em add-heading, bug de PHP warning em list-experiments, update-element exige objecto completo (nao merge parcial como EMCP). Artefactos de teste removidos (post 18166, template 18168).
9.5 KiB
9.5 KiB
Catálogo completo — 89 abilities elementor/* (mcp-abilities-elementor v2.3.36)
Fonte: README oficial do repositório, cruzado com wp eval (count(array_filter(array_keys(wp_get_abilities()), fn($k)=>str_starts_with($k,"elementor/"))) → 89, confirmado ao vivo em emanuelalmeida.pt 19-08-2026).
Page/Post Data (43)
| Ability | Descrição |
|---|---|
elementor/get-data |
Estrutura JSON Elementor de uma página |
elementor/clone-data |
Copia dados Elementor + definições de página entre documentos, com confirmação explícita |
elementor/get-element |
Um elemento específico por ID |
elementor/get-widget-controls |
Inspecciona chaves e metadados de controlo nativo de um tipo de widget |
elementor/find-elements |
Encontra elementos por tipo, widget, ou texto |
elementor/update-element |
Actualiza um elemento específico por ID (objecto completo, ver gotcha #2) |
elementor/merge-element-settings |
Deep-merge de settings num elemento (alternativa ao update-element completo) |
elementor/zero-container-padding-subtree |
Zera padding de container numa subárvore |
elementor/copy-lane-settings |
Copia settings de largura/gap entre elementos |
elementor/copy-row-balance |
Copia ritmo de linha e balanço de colunas filhas entre linhas |
elementor/image-widget-to-background-container |
Converte widget de imagem num container com background-image nativo |
elementor/fix-visible-gap-rhythm |
Remove espaçamento oculto que quebra o ritmo visual de gaps |
elementor/enforce-boundary-coherence |
Normaliza subárvore para full-width verdadeiro ou fronteiras boxed coerentes |
elementor/audit-generic-layout-patterns |
Audita padrões de composição genéricos repetidos numa página/subárvore |
elementor/score-distinctiveness |
Pontua distintividade composicional sem prescrever estilo |
elementor/audit-generic-component-repetition |
Assinala mobília repetida (botões em excesso, cartões repetidos) |
elementor/audit-surface-overuse |
Reporta tratamentos de superfície repetidos com cautela |
elementor/audit-emphasis-drift |
Verifica se secções de topo têm peso de ênfase demasiado semelhante |
elementor/audit-section-rivalry |
Apanha páginas com demasiadas secções a competir como clímax simultâneos |
elementor/audit-composition-rhythm |
Inspecciona ritmo/pacing de secções de topo |
elementor/audit-separator-discipline |
Avisa quando separadores achatam a hierarquia de secções maiores |
elementor/get-theme-context |
Resume tema activo, versão Elementor, kit activo, definições de viewport |
elementor/get-official-widget-catalog |
Catálogo oficial completo de widgets Elementor, de elementor.com/widgets |
elementor/get-official-pattern-guidance |
Catálogo de orientação oficial elementor.com para widgets/layout |
elementor/get-style-guide |
Resumo de style guide a partir do kit activo e tokens |
elementor/evaluate-design |
Agrega as auditorias de design num score, lista de issues e recomendações — testado ao vivo, funciona |
elementor/suggest-design-fixes |
Transforma a avaliação agregada em sugestões concretas de correcção |
elementor/evaluate-render-context |
Inspecciona o contexto de render frontend separado da qualidade de conteúdo |
elementor/audit-column-patterns |
Audita rácios de coluna repetidos (50/50, terços iguais) |
elementor/audit-layout-mechanism-fit |
Recomenda Grid em vez de Flexbox para grupos de colunas simétricos |
elementor/audit-native-widget-opportunities |
Sugere widgets nativos/Pro quando um padrão hand-built os recria |
elementor/audit-column-dominance |
Assinala splits de coluna iguais que podem esconder um lado dominante |
elementor/audit-column-alignment-rhythm |
Reporta rácios semelhantes com ritmos de gutter inconsistentes |
elementor/audit-column-balance |
Assinala linhas assimétricas que podem não justificar a assimetria |
elementor/audit-column-necessity |
Assinala splits que podem não justificar a complexidade |
elementor/reset-negative-margins-subtree |
Limita margens negativas numa subárvore |
elementor/extract-design-tokens |
Extrai cores/tipografia/spacing/tokens dimensionais recorrentes — testado ao vivo, funciona |
elementor/apply-text-hierarchy |
Normaliza tipografia de heading/body/button numa subárvore |
elementor/normalize-section-spacing-rhythm |
Ajusta spacing de secção e gaps de linha a um ritmo consistente |
elementor/normalize-responsive-values |
Preenche/normaliza valores tablet/mobile a partir do desktop |
elementor/sync-component-variant |
Copia settings relevantes de design entre subárvores de componentes |
elementor/delete-element |
Apaga um elemento por ID (exige force_delete:true — testado) |
elementor/update-data |
Substitui o JSON Elementor inteiro de uma página (exige confirmação explícita) |
elementor/patch-data |
Find/replace de texto dentro do JSON Elementor (exige confirmação explícita) |
elementor/update-page-settings |
Actualiza definições de página Elementor |
Authoring Primitives (12) — todas sujeitas ao gate "template-first"
| Ability | Descrição |
|---|---|
elementor/create-page |
Cria página/post novo com Elementor builder activo — testado ao vivo, funciona |
elementor/add-container |
Adiciona container top-level ou aninhado (legacy, não atómico) — testado ao vivo |
elementor/add-widget |
Adiciona qualquer tipo de widget Elementor com settings brutos |
elementor/add-post-tabs |
Adiciona Nested Tabs nativo, cada tab com um widget Posts nativo |
elementor/add-heading |
Adiciona widget heading — testado ao vivo |
elementor/add-text-editor |
Adiciona widget text editor |
elementor/add-image |
Adiciona widget imagem a partir de attachment ID ou URL |
elementor/add-button |
Adiciona widget botão |
elementor/move-element |
Move elemento para novo pai/posição |
elementor/remove-element |
Remove elemento com guardas de segurança |
elementor/duplicate-element |
Duplica subárvore de elemento com IDs novos |
elementor/reorder-elements |
Reordena filhos directos de um pai ou ao nível de topo |
Template Management (11)
| Ability | Descrição |
|---|---|
elementor/list-templates |
Lista todos os templates Elementor guardados — testado ao vivo |
elementor/find-template-for-pattern |
Encontra templates guardados que correspondem a padrões reutilizáveis |
elementor/get-template |
Obtém um template com todos os dados |
elementor/create-template |
Cria template page/section/popup/header/footer — testado ao vivo |
elementor/update-template |
Modifica template existente |
elementor/delete-template |
Move para lixo ou apaga em definitivo — testado ao vivo, confirmado funcional |
elementor/restore-template |
Restaura template do lixo |
elementor/empty-trash |
Apaga em definitivo todos os templates no lixo |
elementor/duplicate-template |
Copia um template |
elementor/export-template |
Exporta como JSON |
elementor/import-template |
Importa de JSON |
Theme Builder (2)
| Ability | Descrição |
|---|---|
elementor/get-theme-builder-conditions |
Condições de exibição de um template/tipo |
elementor/update-theme-builder-conditions |
Actualiza condições de exibição de um template |
Custom Code (5, requer Elementor Pro)
| Ability | Descrição |
|---|---|
elementor/list-custom-code |
Lista snippets — testado ao vivo: falhou graciosamente, "post type is not available" nesta versão/licença Pro |
elementor/get-custom-code |
Obtém um snippet |
elementor/create-custom-code |
Cria snippet |
elementor/update-custom-code |
Actualiza snippet |
elementor/delete-custom-code |
Apaga snippet |
Form Submissions (3, requer Elementor Pro)
| Ability | Descrição |
|---|---|
elementor/list-form-submissions |
Lista submissões — testado ao vivo, funciona (0 submissões no site) |
elementor/get-form-submission |
Obtém uma submissão |
elementor/delete-form-submission |
Apaga uma submissão |
Site Tools & Settings (11)
| Ability | Descrição |
|---|---|
elementor/list-global-widgets |
Lista todos os widgets globais — testado ao vivo, 0 no site |
elementor/list-kits |
Lista kits Elementor disponíveis — testado ao vivo: 2 kits (Kit Padrão id 14, Default Kit id 11 activo) |
elementor/get-kit-settings |
Definições Elementor de todo o site — testado ao vivo |
elementor/update-kit-settings |
Actualiza cores/tipografia globais |
elementor/set-active-kit |
Define o kit activo |
elementor/clear-cache |
Limpa cache Elementor (âmbito post ou site) |
elementor/replace-urls |
Substitui URLs dentro de dados Elementor |
elementor/get-maintenance-mode |
Definições de modo de manutenção — testado ao vivo |
elementor/update-maintenance-mode |
Activa/actualiza modo de manutenção |
elementor/list-experiments |
Lista experiments Elementor — testado ao vivo: funciona mas emite PHP Warning: Array to string conversion em register-site-tools.php:632 (bug confirmado) |
elementor/update-experiment |
Actualiza estado de um experiment |
Nota sobre a arquitectura legacy vs atómica
Confirmado ao vivo: add-container/add-heading neste site (Elementor 4.2.2, com suporte atómico) produzem elType:"container"/widgetType:"heading" — arquitectura legacy, não e-flexbox/e-heading (Elementor 4.0 atómico). Presumir que todas as "Authoring Primitives" desta lista seguem o mesmo padrão legacy até prova em contrário.