New plugins: core-tools New skills: auto-expense, ticket-triage, design, security-check, aiktop-tasks, daily-digest, imap-triage, index-update, mindmap, notebooklm, proc-creator, tasks-overview, validate-component, perfex-module, report, calendar-manager New agents: design-critic, design-generator, design-lead, design-prompt-architect, design-researcher, compliance-auditor, metabase-analyst, gitea-integration-specialist Updated: all plugin configs, knowledge datasets, existing skills Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
310 lines
7.9 KiB
Markdown
310 lines
7.9 KiB
Markdown
---
|
|
name: elementor
|
|
description: >
|
|
Advanced development with Elementor Pro and Crocoblock ecosystem. Creates custom widgets, configures Theme Builder, develops with JetEngine, JetWooBuilder, optimizes performance and troubleshoots issues.
|
|
Also covers programmatic automation: deploy pipelines, kit import, replace-urls, flush-css, MySQL manipulation of _elementor_data, REST API endpoints, Dynamic Tags, CSS cache invalidation.
|
|
Use when building Elementor sites, creating custom widgets, configuring theme templates, developing with Crocoblock, or when user mentions
|
|
"elementor", "custom widget", "theme builder", "jetengine", "crocoblock", "jetwoobuilder", "page builder", "elementor pro",
|
|
"deploy elementor", "pipeline elementor", "elementor kit import", "elementor replace-urls", "elementor flush-css",
|
|
"automação elementor", "elementor programático", "elementor mysql", "rebranding elementor", "elementor rest api",
|
|
"elementor dynamic tag", "elementor cache", "elementor agente ia", "elementor wp-cli".
|
|
author: Descomplicar® Crescimento Digital
|
|
version: 1.2.0
|
|
user_invocable: true
|
|
tags: [wordpress, elementor, pagebuilder, crocoblock, jetengine, widgets, automation, wpcli]
|
|
desk_task: 1478
|
|
allowed-tools: Read, Write, Edit, Bash, mcp__ssh-unified__ssh_execute, mcp__notebooklm__notebook_query, mcp__dify-kb__dify_kb_retrieve_segments
|
|
category: dev
|
|
quality_score: 80
|
|
updated: "2026-02-18T00:00:00Z"
|
|
---
|
|
|
|
# /elementor - Elementor Development
|
|
|
|
Desenvolvimento avançado com Elementor Pro e Crocoblock.
|
|
|
|
## Quando Usar
|
|
|
|
- Criar widgets Elementor customizados
|
|
- Configurar Theme Builder
|
|
- Desenvolver com Crocoblock (JetEngine, JetWooBuilder)
|
|
- Optimizar performance Elementor
|
|
- Troubleshooting Elementor
|
|
|
|
## Estrutura Custom Widget
|
|
|
|
```php
|
|
<?php
|
|
/**
|
|
* Custom Elementor Widget
|
|
*
|
|
* @author Descomplicar® Crescimento Digital
|
|
* @link https://descomplicar.pt
|
|
* @copyright 2026 Descomplicar®
|
|
*/
|
|
|
|
class Custom_Widget extends \Elementor\Widget_Base {
|
|
|
|
public function get_name() {
|
|
return 'custom-widget';
|
|
}
|
|
|
|
public function get_title() {
|
|
return 'Custom Widget';
|
|
}
|
|
|
|
public function get_icon() {
|
|
return 'eicon-code';
|
|
}
|
|
|
|
public function get_categories() {
|
|
return ['general'];
|
|
}
|
|
|
|
protected function register_controls() {
|
|
$this->start_controls_section(
|
|
'content_section',
|
|
[
|
|
'label' => 'Content',
|
|
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
|
|
]
|
|
);
|
|
|
|
$this->add_control(
|
|
'title',
|
|
[
|
|
'label' => 'Title',
|
|
'type' => \Elementor\Controls_Manager::TEXT,
|
|
'default' => 'Title',
|
|
]
|
|
);
|
|
|
|
$this->end_controls_section();
|
|
|
|
// Style controls
|
|
$this->start_controls_section(
|
|
'style_section',
|
|
[
|
|
'label' => 'Style',
|
|
'tab' => \Elementor\Controls_Manager::TAB_STYLE,
|
|
]
|
|
);
|
|
|
|
$this->add_control(
|
|
'title_color',
|
|
[
|
|
'label' => 'Color',
|
|
'type' => \Elementor\Controls_Manager::COLOR,
|
|
'selectors' => [
|
|
'{{WRAPPER}} .title' => 'color: {{VALUE}}',
|
|
],
|
|
]
|
|
);
|
|
|
|
$this->end_controls_section();
|
|
}
|
|
|
|
protected function render() {
|
|
$settings = $this->get_settings_for_display();
|
|
?>
|
|
<div class="custom-widget">
|
|
<h2 class="title"><?php echo esc_html($settings['title']); ?></h2>
|
|
</div>
|
|
<?php
|
|
}
|
|
}
|
|
```
|
|
|
|
## Registar Widget
|
|
|
|
```php
|
|
// functions.php ou plugin
|
|
add_action('elementor/widgets/register', function($widgets_manager) {
|
|
require_once(__DIR__ . '/widgets/custom-widget.php');
|
|
$widgets_manager->register(new \Custom_Widget());
|
|
});
|
|
```
|
|
|
|
## Theme Builder
|
|
|
|
### Header
|
|
|
|
```
|
|
Site Logo | Navigation Menu | Search | Cart Icon
|
|
Sticky: Yes | Transparent: Optional
|
|
```
|
|
|
|
### Footer
|
|
|
|
```
|
|
4 Columns: About | Links | Contact | Social
|
|
Copyright row
|
|
```
|
|
|
|
### Single Post
|
|
|
|
```
|
|
Featured Image
|
|
Title + Meta (Author, Date, Categories)
|
|
Content
|
|
Author Box
|
|
Related Posts
|
|
```
|
|
|
|
### Archive
|
|
|
|
```
|
|
Title
|
|
Filters (JetSmartFilters)
|
|
Post Grid/List (JetEngine)
|
|
Pagination
|
|
```
|
|
|
|
## Crocoblock Plugins
|
|
|
|
| Plugin | Uso Principal |
|
|
|--------|---------------|
|
|
| **JetEngine** | CPT, Meta Fields, Dynamic Content, Listings |
|
|
| **JetElements** | Widgets adicionais (Timeline, Progress Bar) |
|
|
| **JetSmartFilters** | Filtros AJAX para listings |
|
|
| **JetWooBuilder** | Templates WooCommerce avançados |
|
|
| **JetPopup** | Popups com triggers avançados |
|
|
| **JetTabs** | Tabs, Accordions, Toggle |
|
|
| **JetFormBuilder** | Forms com lógica condicional |
|
|
|
|
## JetEngine - Custom Post Type
|
|
|
|
```php
|
|
// Via código (alternativa ao JetEngine UI)
|
|
add_action('init', function() {
|
|
register_post_type('portfolio', [
|
|
'labels' => [
|
|
'name' => 'Portfolio',
|
|
'singular_name' => 'Project'
|
|
],
|
|
'public' => true,
|
|
'has_archive' => true,
|
|
'supports' => ['title', 'editor', 'thumbnail'],
|
|
'show_in_rest' => true,
|
|
]);
|
|
});
|
|
|
|
// Meta boxes via JetEngine UI recomendado
|
|
```
|
|
|
|
## Performance Tips
|
|
|
|
### 1. Lazy Load
|
|
|
|
```php
|
|
// Activar lazy load para imagens
|
|
add_filter('wp_lazy_loading_enabled', '__return_true');
|
|
```
|
|
|
|
### 2. Desactivar Google Fonts (se usar fonts locais)
|
|
|
|
```php
|
|
add_filter('elementor/frontend/print_google_fonts', '__return_false');
|
|
```
|
|
|
|
### 3. Limitar revisões
|
|
|
|
```php
|
|
// wp-config.php
|
|
define('WP_POST_REVISIONS', 3);
|
|
```
|
|
|
|
### 4. Usar Flexbox Container
|
|
|
|
```
|
|
Preferir: Flexbox Container (moderno)
|
|
Evitar: Section > Column (legacy, mais pesado)
|
|
```
|
|
|
|
### 5. Minimizar Widgets
|
|
|
|
```
|
|
Regra: Máximo 50 widgets por página
|
|
Usar: CSS custom em vez de widgets simples
|
|
```
|
|
|
|
## Breakpoints
|
|
|
|
```
|
|
Desktop: > 1024px
|
|
Tablet: 768-1024px
|
|
Mobile: < 768px
|
|
|
|
Configuração:
|
|
Elementor > Settings > Advanced > Breakpoints
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Widget não aparece / CSS desactualizado
|
|
|
|
```bash
|
|
# CWP — SEMPRE com prefixo PHP completo
|
|
PHP="/opt/alt/php-fpm83/usr/bin/php"
|
|
WP="$PHP /usr/local/bin/wp --allow-root --path=/home/USER/public_html"
|
|
|
|
# Regenerar CSS (após qualquer alteração programática)
|
|
$WP elementor flush-css --regenerate
|
|
|
|
# Substituição segura de URLs (NUNCA usar wp search-replace directamente)
|
|
$WP elementor replace-urls https://antigo.com https://novo.com
|
|
|
|
# Sincronizar BD após update do plugin
|
|
$WP elementor update db
|
|
```
|
|
|
|
### Erro após update
|
|
|
|
```bash
|
|
# Rollback Elementor
|
|
Elementor > Tools > Version Control > Rollback
|
|
```
|
|
|
|
### Performance lenta
|
|
|
|
```
|
|
1. Desactivar Google Fonts desnecessárias
|
|
2. Activar cache CSS minificado
|
|
3. Usar Flexbox Container
|
|
4. Lazy load imagens
|
|
5. Limitar widgets por página
|
|
```
|
|
|
|
## Automação Programática (WP-CLI / MySQL / REST API)
|
|
|
|
Para deploy automatizado, pipelines IA, migração em massa e manipulação programática do Elementor sem GUI, consultar:
|
|
|
|
**`references/automation.md`** — Referência completa com:
|
|
- Pipeline de deploy CWP (kit import + replace-urls + flush-css)
|
|
- Estrutura `_elementor_data` JSON e queries MySQL com `JSON_REPLACE`
|
|
- REST API custom endpoint (com `wp_slash`, cache invalidation)
|
|
- PHP Dynamic Tags para conteúdo runtime (requer Pro)
|
|
- Geração de Kit ZIP em Python
|
|
- Rebranding global via `elementor_active_kit`
|
|
- Regras críticas (NUNCA `wp search-replace` em `_elementor_data`)
|
|
- MCP Elementor (Ultimate Elementor MCP, ~60 tools)
|
|
|
|
## Datasets Dify
|
|
|
|
| Dataset | ID | Prioridade |
|
|
|---------|----|-----------:|
|
|
| **Elementor** | `9c77d3e2-4d88-4a43-abff-d4e681267cc7` | 1 |
|
|
| **Crocoblock** | `bdf85c26-1824-4021-92d1-be20501b35ac` | 1 |
|
|
| **Crocooblock** | `139cdf67-afce-46ec-9ccd-2a06040e5b9d` | 1 |
|
|
| **Wordpress** | `9da0b2b9-5051-4b99-b9f6-20bf35067092` | 2 |
|
|
|
|
---
|
|
|
|
## Referências Adicionais
|
|
|
|
- **`references/automation.md`** — Automação programática completa (WP-CLI pipelines, MySQL, REST API, PHP Hooks, Kits, CSS)
|
|
|
|
---
|
|
|
|
**Versão**: 1.2.0 | **Autor**: Descomplicar® | **Actualizado**: 18-02-2026
|