--- name: elementor description: Desenvolvimento avançado com Elementor Pro e ecossistema Crocoblock. Cria widgets custom, configura Theme Builder, automatiza deploys, manipula _elementor_data via MySQL, REST API, Dynamic Tags e cache CSS. layer: wiki --- # /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 ## Contexto NotebookLM ANTES de executar, consultar notebooks para contexto especializado: | Notebook | ID | Consultar quando | |----------|-----|-----------------| | WordPress e Elementor | 5be0d1a6 | Sempre | ``` mcp__notebooklm__notebook_query({ notebook_id: "5be0d1a6-00f2-4cd9-b835-978cb7721601", query: "" }) ``` Integrar insights do NotebookLM nas recomendações e decisões. --- ## Estrutura Custom Widget ```php 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(); ?>

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